sequlize игнорировать удаление данных ассоциированной таблицы - PullRequest
1 голос
/ 27 февраля 2020

Я использую 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 без удаления из другой связанной таблицы?

...