⊗jsrxPmSDCE 42 of 57 menu

Criação de registros no banco de dados no Redux

Nas lições anteriores, preparamos tudo para preencher nosso banco de dados com dados. Vamos começar.

Vamos abrir nosso aplicativo de produtos, e nele o arquivo server.js. Primeiro, vamos decidir quantos e quais objetos de dados precisamos. Temos 4 vendedores, vamos supor que para cada um deles haja 3 produtos. Vamos introduzir duas constantes para isso logo após as linhas de importação:

const NUM_SELLERS = 4 const PRODS_PER_SELLER = 3

Agora, no final do arquivo, antes de exportar o worker, vamos fazer um loop for, no qual usaremos create para criar registros no banco de dados para nossos 4 vendedores:

for (let i = 0; i < NUM_SELLERS; i++) { const newSeller = db.seller.create(createSellerData(i)) }

Para cada vendedor, temos 3 produtos, então dentro do loop dos vendedores faremos outro loop for aninhado, no qual criaremos os registros para os produtos:

for (let i = 0; i < NUM_SELLERS; i++) { const newSeller = db.seller.create(createSellerData(i)) for (let j = 0; j < PRODS_PER_SELLER; j++) { const newProduct = createProductData(newSeller) db.product.create(newProduct) } }

Excelente! Com isso, terminamos o trabalho com o banco de dados.

Resta-nos fazer apenas mais uma coisa. Precisamos que no objeto do produto, o campo seller receba o id do vendedor. Vamos escrever abaixo, após os loops for, mais uma função serializeProduct, na qual adicionaremos este id:

const serializeProduct = (product) => ({ ...product, seller: product.seller.id, })

Abra seu aplicativo com os estudantes. Que você tenha três professores, e para cada um deles, 3 estudantes. Tendo revisado o material desta lição, use o loop for e crie 3 registros de professores no banco de dados.

Em seguida, faça um segundo loop for dentro do loop da tarefa anterior, com o qual você criará 3 estudantes.

Após os loops for aninhados, escreva uma função serializeStudent, conforme mostrado na lição, que irá inserir no campo teacher o id do professor.

uzctrfrbyaz