序列化-防止在关联的其他地方使用时破坏行

时间:2019-03-25 20:39:10

标签: javascript node.js sequelize.js

当我尝试销毁关联中使用的行时,是否有办法使Sequelize.js引发异常?

作为示例,我们有一个Roles的表和一个Users的表。他们具有N:M关联,因此任何用户都可以拥有许多角色。

问题是当用户的角色很少并且包含的​​角色的行被删除时。用户只是松开了这个角色。除非先删除关联,否则如何防止删除角色?

1 个答案:

答案 0 :(得分:1)

您可以使用onDelete和onUpdate在关联中对此进行控制,如下所示:

User.hasMany(Roles, { foreignKey: "whatever", onDelete: 'restrict', onUpdate: 'restrict'}); 

手册mentions the options 的外键部分...