我有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'
});
}}
但是当我删除一个专业的相应用户时,不会被删除。
当我签入postgres
约束时,
TABLE "professional" CONSTRAINT "professional_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"(id) ON UPDATE CASCADE ON DELETE CASCADE
任何人都可以解释这种行为......?
答案 0 :(得分:0)
您无法通过删除user
中的行删除professional
表中的行,因此user
表为主,professional
为辅助(使用外键userId)。但您可以通过删除用户的行删除专业行。