Sequelize - предотвращение уничтожения строки при использовании в другом месте ассоциации - PullRequest
2 голосов
/ 25 марта 2019

Есть ли способ заставить Sequelize.js генерировать исключение, когда я пытаюсь уничтожить строку, которая используется где-то в ассоциации?

В качестве примера, давайте иметь таблицу для Roles и таблицу для Users.У них есть связь N: M, поэтому любой пользователь может иметь много ролей.

Проблема в том, что у пользователя мало ролей, а ряд включенных ролей удален.Пользователь просто потерял эту роль.Как предотвратить удаление роли, если сначала не удалена связь?

1 Ответ

1 голос
/ 26 марта 2019

Вы можете управлять этим в ассоциации, используя onDelete и onUpdate, например:

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

В разделе «Внешний ключ» руководства упоминаются опции ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...