我一直在尝试为我的项目写一些种子,但我遇到了一些障碍。
我和我的桌子有many-to-many
关系。因此,当我为数据库播种时,我需要在我的联接表中添加一条具有正确 ID 的记录。为了做到这一点,我需要找到用户和角色并获取,这就是问题所在。我在sequelize 网站上找不到任何好的文档。我正在使用sequelize-cli进行播种和迁移。我得到一个参数 a ,但我找不到任何例子或提到这件事实际上可以做什么。只是一些简单的例子让我完成了迁移(不知何故)以及我在谷歌上能找到的东西。users
roles
email
name
ids
queryInterface
我已经通过使用我会说的“肮脏技巧”解决了这个问题......
// user_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
id: 1,
name: 'John doe',
email: 'john@doe.com',
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
。我想知道你们中是否有人遇到过这个问题并解决了它,如果有,请分享。