Я использую Sequlize
PostgreSQL. У меня есть таблица ниже
Campaign( id, title )
BPCampaign( id, campaign_Id(forigen_key) )
Customer( id, name, campaign_id(forignkey) )
Tasks( id, customer_id(forign_key) )
models => https://paste.ubuntu.com/p/KDyC92brNQ/
Я пытаюсь удалить Campaign и BPCampaign ..
try {
await BPCampaign.destroy({
where:{
campaign_id: req.params.id
}
}, { transaction: t });
await Campaign.destroy({
where:{
id: req.params.id
}
},{ transaction: t })
await t.commit().then(v=>{
Methods.successResponse(req, res, v)
}).catch(err=>{
ErrorResMethods.errorResponse(req, res, err)
})
} catch (error) {
console.log(error);
await t.rollback();
}
Это не работает, выдавая такую ошибку ..
"campaigns" violates foreign key constraint "customers_campaign_id_fkey" on table "customers"
Я понял, что в таблице Customer есть forign key campaign_id, поэтому она не удаляется.
Как удалить из Bpcampaign? и таблицу Campaign без удаления из другой связанной таблицы?