Sequelize onDelete:'cascade'与偏执狂:真实

时间:2014-06-25 03:47:14

标签: node.js coffeescript sequelize.js

我有一些模型关联,如下所示:

db.runt.hasMany db.runtsBudgets, { foreignKey: 'runt_id' }
db.runt.hasMany db.runtsProperties, { foreignKey: 'runt_id' }
db.runtsProperties.belongsTo db.runt, { onDelete: 'cascade' }
db.runtsBudgets.belongsTo db.runt, { onDelete: 'cascade' }

这些模型都是用paranoid: true定义的。鉴于我有一个runt runtsBudgets,当我尝试删除这样的runt时:

db.runt.destroy(id: 1).complete (err) ->

runt被正确地软删除,但runtsBudgets却没有。如果我不使用paranoid: true,则级联删除工作正常,但不起作用。

有人知道sequelize是否支持级联软删除?或者我在这里做了一些完全错误的事情?我查看了关于协会和paranoid的文档,但我没有找到任何内容。

1 个答案:

答案 0 :(得分:0)

这实际上是{2.0}版本的sequelize版本中的一个错误,并且是由options变量引起的,该变量实际上没有被传递到bulkUpdate调用时delete是在一个偏执的桌子上完成的。

此问题现已通过此patch here.

解决