Я пытался написать некоторые семена для своего проекта, но я столкнулся с некоторой проблемой.найти записи в sequelize seed
У меня отношение many-to-many
к моим users
и roles
таблице. Поэтому, когда я загружаю базу данных, мне нужно добавить запись с правильными идентификаторами в мою таблицу соединений. Для этого мне нужно найти пользователя по email
и роли name
и получить ids
, и в этом проблема. Я не могу найти хорошую документацию на sequelize site. Я использую sequelize-cli для посева и миграции вещей. Я получаю как параметр queryInterface
, но я не могу найти ни одного примера или не упомянуть, что это может сделать на самом деле. Просто некоторые простые примеры просто заставили меня пройти через миграцию (как-то) и то, что я смог найти в Google.
Я решить это с помощью «подвоха» Я бы сказал ...
// user_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
id: 1,
name: 'John doe',
email: '[email protected]',
created_at,
updated_at
}], {});
// roles_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
id: 1,
name: 'admin',
created_at,
updated_at
}, {
id: 2,
name: 'user',
created_at,
updated_at
}]);
//user_roles_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
employee_id: 1,
role_id: 1
}]);
},
Не нравится это решение, так как это может быть хлопотно в будущем должен я хочу снова запустите семена и забудьте о том, как это работает. Должен быть способ для запроса базы данных с использованием этого queryInterface
. Мне было интересно, если кто-то из вас столкнулся с этим вопросом и решит его, если да, пожалуйста, поделитесь.
Вы решили это? – thur
Так или иначе. –