私がこのような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')
この約束に基づくアプローチがどのように機能するかを理解しているかどうかはわかりません。挿入ステートメントを使用して別のスクリプトを作成する必要がありますか?または、どういうわけか既存のスクリプトにそれらを追加できますか?
残念ながら、Knex.jsのドキュメントにcomplete create + insertの例は見つかりません。
promiseを使用しない理由then次のような方法を実行できます。
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")
]);
};