Ao inserir uma nova matricula esta dando erro falando que eu não passei um parametro, porem eu printei tudo que vem no boby e o parametro está la.
link projeto: https://github.com/renatoReboucas/node-sequelize
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Ao inserir uma nova matricula esta dando erro falando que eu não passei um parametro, porem eu printei tudo que vem no boby e o parametro está la.
link projeto: https://github.com/renatoReboucas/node-sequelize
Olá Renato, tudo bem com você?
Eu fiz o download do seu projeto e só tive que mudar a maneira como estava escrito os atributos:
const { estudanteId } = req.params
const novaMatricula = { ...req.body, estudante_id: Number(estudanteId) Se você der uma checada no log do Sequelize vai ver que quanto está Estudante_id estará assim:
Executing (default): INSERT INTO `Matriculas` (`id`,`status`,`createdAt`,`updatedAt`,`turma_id`) VALUES (DEFAULT,?,?,?,?);Da para notar que de fato está faltando um parâmetro
Ao mudar para estudante_id:
Executing (default): INSERT INTO `Matriculas` (`id`,`status`,`createdAt`,`updatedAt`,`estudante_id`,`turma_id`) VALUES (DEFAULT,?,?,?,?,?);Acredito que na hora de fazer o select em 1, não deu problema, não daria inclusive pelo próprio mysql, mas na hora de construir as chaves deve ter bagunçado um pouco 🤔 🤔
Faz um bom tempo que não uso o Sequelize, mas até onde me lembro os campos do objeto devem seguir o padrão que está em nossos models (estudante_id e turma_id), ainda que, no banco de dados apareçam como Estudante_id :)
Abraços e Bons Estudos!
Obrigado!