gpt4 book ai didi

postgresql - 级联删除在 Sequelize 中不起作用

转载 作者:行者123 更新时间:2023-12-03 22:41:47 28 4
gpt4 key购买 nike

我有 2 个模型

var Professional = sequelize.define('professional', {
name: {
type: DataTypes.STRING,
unique: true
},
associate: function (models) {
Professional.belongsTo(models.User,
{
foreignKey: {allowNull: false},
onDelete: 'CASCADE'
});
}}


var User = sequelize.define('user', {
name: {
type: DataTypes.STRING,
unique: true
},
associate: function (models) {
User.hasOne(models.Professional,
{
foreignKey: {allowNull: true},
onDelete: 'CASCADE'
});
}}

但是当我删除一个 Professional 时,相应的用户不会被删除。

当我检查 postgres 约束看起来像
TABLE "professional" CONSTRAINT "professional_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"(id) ON UPDATE CASCADE ON DELETE CASCADE

谁能解释这种行为......?

最佳答案

您无法通过删除 user 中的行来删除 professional 表中的行,因此 user 表为主, professional 为次要(外键为 userId)。但是您可以通过删除用户行来删除专业行。

关于postgresql - 级联删除在 Sequelize 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40299616/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com