鉴于我有一个像这样的 Knex.js 脚本:
exports.up = function(knex, Promise) {
return knex.schema.createTable('persons', function(table) {
table.increments('id').primary();
table.string('name').notNullable();
});
};
当前创建了一个表。
如何向此脚本添加后续插入语句?
我想做的是添加这样的行(或类似的行):
knex.insert({id: 1, name: 'Test'}).into('persons')
我不确定我是否理解这种基于承诺的方法是如何运作的。我应该用插入语句编写另一个脚本吗?或者我可以以某种方式将它们附加到我现有的脚本中吗?
不幸的是,我没有找到任何completeKnex.js 文档中创建 + 插入的示例。
The then方法返回一个Promise,您可以在创建表后使用它来实现插入。例如:
exports.up = function (knex, Promise) {
return Promise.all([
knex.schema.createTableIfNotExists("payment_paypal_status", function (table) {
table.increments(); // integer id
// name
table.string('name');
//description
table.string('description');
}).then(function () {
return knex("payment_paypal_status").insert([
{name: "A", description: "A"},
{name: "B", description: "BB"},
{name: "C", description: "CCC"},
{name: "D", description: "DDDD"}
]);
}
),
]);
};
exports.down = function (knex, Promise) {
return Promise.all([
knex.schema.dropTableIfExists("payment_paypal_status")
]);
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)