gpt4 book ai didi

node.js - Knex.js:创建表并插入数据

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:45 26 4
gpt4 key购买 nike

假设我有一个像这样的 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')

我不确定我是否理解这种基于 promise 的方法是如何工作的。我应该用插入语句编写另一个脚本吗?或者我可以以某种方式将它们附加到我现有的脚本中吗?

不幸的是,我在 Knex.js 文档中找不到任何完整创建 + 插入的示例。

最佳答案

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")
]);
};

关于node.js - Knex.js:创建表并插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35089571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com