node.js - 销毁级联在 Sequelize orm 中不起作用

标签 node.js sequelize.js cascade

我有两个使用 Sequelize cli 创建的模型;第一个模型是 user_number,第二个模型是 emailSign

这是我的user_number模型:

    'use strict';
     module.exports = function(sequelize, DataTypes) {
     var user_number = sequelize.define('user_number', {
     user_id: DataTypes.INTEGER,
     callRoute_id: DataTypes.INTEGER,
     password: DataTypes.STRING,
     }, {
     underscored: true,
     classMethods: {
         associate: function(models) {
            // associations can be defined here
             user_number.hasMany(models.emailSign, {
                foreignKey: 'user_number_id',
                onDelete: "CASCADE",
             });
           }
           }
        });
      return user_number;
    };

这是我的 emailSign 模型:

      'use strict';
      module.exports = function(sequelize, DataTypes) {
      var emailSign = sequelize.define('emailSign', {
      email: DataTypes.STRING,
      user_number_id: DataTypes.INTEGER
      }, {
         underscored: true,
         classMethods: {
             associate: function(models) {
             // associations can be defined here
             emailSign.belongsTo(models.user_number, {
             foreignKey: 'user_number_id',

           })
         }
        }
      });
      return emailSign;
          }; 

我想销毁user_number以级联删除emailSign。我的销毁代码是

User_number.destroy({where:{id : 5}}).then(function(){

resp.status(200);
) 
id 为 5 的

user_number 已删除,但 emailSign 未删除。

如何删除相关的emailSign

我的 Sequelize 版本是 3.30.4

最佳答案

您应该在belongsTo关联上定义onDelete操作

emailSign.belongsTo(models.user_number, {
     foreignKey: 'user_number_id',
     onDelete: 'CASCADE'
});

关于node.js - 销毁级联在 Sequelize orm 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44273155/

相关文章:

node.js - Sequelize ,将实体转换为普通对象

c# - 级联集空 Entity Framework

NHibernate Cascade none 仍在更新相关实体

java - 如何在 Node.js Express 应用程序中运行 Java 代码

mysql - node-mysql 一个查询中的多个语句

javascript - Node.js 在本地返回 JS 文件

mysql - Node.js sequelize 死锁问题

node.js - nodejs Passport 总是会失败 URL

sequelize.js - 内部联接为空时如何更新 res?

mysql - 当列设置级联时如何删除表