我要续集以用于邮寄的初始数据负载的种子。表自动。
// user_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
uid: 1, //primary key autogenerated
name: 'John doe',
email: 'john@doe.com',
created_at,
updated_at
}], {});
// roles_seeds.js
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(table, [{
uid: 1, //this should be comes from user table to this filed automatically after the creation of first record in user table
name: 'admin',
email: 'john@doe.com',
created_at,
updated_at
}, {
id: 2,
name: 'user',
created_at,
updated_at
}]);
如何将主钥匙传递给另一个表作为外键自动而无需硬编码。
您必须将一个播种机与returning = true
一起使用。以下是一个例子。您可能需要在某些地方使用续集模型而不是直接queryInterface
。
// user_and_role_seeds.js
up: function (queryInterface, Sequelize) {
return UserModel.bulkCreate([{
uid: 1, // primary key autogenerated
name: 'John doe',
email: 'john@doe.com',
created_at,
updated_at
}], {returning: true}).then(function(users){
return queryInterface.bulkInsert(table, [{
uid: users[0].uid, // Here you use users items
name: 'admin',
email: 'john@doe.com',
created_at,
updated_at
}, {
id: users[1].uid,
name: 'user',
created_at,
updated_at
}]);
});
}
- 续集版本:4.x
- Postgres版本:11.x