node.js - UnhandledPromiseRejectionWarning: SequelizeForeignKeyConstraintError - Stack Overflow em Português
insert or update on table "appointments" violates foreign key constraint "appointments_user_id_fkey"
Estou com esse erro no NodeJS ao tentar criar uma table nova que possui chave estrangeira na migration, não consigo encontrar o erro.
Segue o código da migration:
return queryInterface.createTable('appointments', {
provider_id: {
return queryInterface.dropTable('appointments');
AppointmentController.js
provider_id: Yup.number().required(),
date: Yup.date().required(),
const { provider_id, date } = req.body;
where: { id: provider_id, provider: true },
.json({ error: 'You can only create appointments with providers' });
const appointment = await Appointment.create({
export default new AppointmentController();
editada 20/10/2020 às 23:34
perguntada 28/01/2020 às 15:56
Fala meu guri! Esse erro ocorre exatamente conforme o colega acima falou: porque você está tentando inserir no banco um id referenciado que não existe. Isso pode ocorrer por dois motivos, ou você está passando no Insominia um provider_id que não existe, OU, você em algum momento editou manualmente os user_id no seu banco de dados, e continuo usando um token que foi criado com o antigo user_id. Se você editou os ids no banco de dados, crie uma nova sessão e atualize o seu Token usado no Insomina.
respondida 7/02/2020 às 0:19
Murilo Blanco FlorMurilo Blanco Flor
Tive esse problema e resolvi da seguinte forma, quando você esta passando o provider_id ou o user_id olhe na tabela de users se esses ids existem pois as tabelas são relacionadas e não a como adicionar na tabela appointments um id que não existe na tabela users.
respondida 30/01/2020 às 18:50
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag node.js postgresql sequelize-js ou faça sua própria pergunta.