#javascript #node.js #sequelize.js
#javascript #node.js #sequelize.js
Вопрос:
Есть ли способ сделать Sequelize.js выдавать исключение, когда я пытаюсь уничтожить строку, что используется где-то в ассоциации?
В качестве примера давайте возьмем таблицу для Roles
и таблицу для Users
. У них есть ассоциация N: M, поэтому любой пользователь может иметь много ролей.
Проблема заключается в том, что у пользователя мало ролей, и строка включенной роли удаляется. Пользователь просто теряет эту роль. Как предотвратить удаление роли, если ассоциация не будет удалена первой?
Ответ №1:
Вы можете управлять этим в ассоциации, используя OnDelete и onUpdate, вот так:
User.hasMany(Roles, { foreignKey: "whatever", onDelete: 'restrict', onUpdate: 'restrict'});
В разделе руководства по внешнему ключу упоминаются опции …