为多个关系表添加js orm播种器

我将这样sequelize种子初始数据加载邮政。我可以通过创buildseedfile.js.能够做到多表,但我无法处理表之间的关系自动。

// 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 。 下面是一个例子。 您可能需要使用sequelize模型,而不是在某些地方直接使用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 }]); }); }