是否需要将 Promise 参数传递给 Knex 迁移?
Is the Promise argument passed into Knex migrations needed?
当运行命令knex migrate:make table-name
下面的代码出现在新创建的文件中。
exports.up = function (knex, Promise) {
})
}
exports.down = function (knex, Promise) {
}
创建模式后,我注意到我从未使用默认提供的 Promise 参数(我的代码如下)。
exports.up = function (knex, Promise) {
return knex.schema.createTable('Skills', (table) => {
table.increments('id').primary()
table.string('skill')
table.string('description')
table.integer('rating')
})
}
exports.down = function (knex, Promise) {
return knex.schema.dropTable('Skills')
}
我还查看了其他项目并意识到我从未对 Promise 参数做过任何事情。我错过了什么吗?或者它只是默认提供,并不总是需要?
不需要任何东西。
这是当时的历史论据,当时节点没有内置承诺(或者可能是 knex 允许 select 使用承诺实现时的提醒)。
它只是 bluebird 的一个实例(在 knex 0.15.2 中)。
它不是必需的,但有时可用。作为 Bluebird 的一个实例,您可以在那里使用一些 Bluebird 函数。例如,如果您喜欢插入(在数据库播种步骤),您可能有兴趣维护插入顺序。所以,Bluebird.mapSeries进来了。
Knex Promise Uses
当运行命令knex migrate:make table-name
下面的代码出现在新创建的文件中。
exports.up = function (knex, Promise) {
})
}
exports.down = function (knex, Promise) {
}
创建模式后,我注意到我从未使用默认提供的 Promise 参数(我的代码如下)。
exports.up = function (knex, Promise) {
return knex.schema.createTable('Skills', (table) => {
table.increments('id').primary()
table.string('skill')
table.string('description')
table.integer('rating')
})
}
exports.down = function (knex, Promise) {
return knex.schema.dropTable('Skills')
}
我还查看了其他项目并意识到我从未对 Promise 参数做过任何事情。我错过了什么吗?或者它只是默认提供,并不总是需要?
不需要任何东西。
这是当时的历史论据,当时节点没有内置承诺(或者可能是 knex 允许 select 使用承诺实现时的提醒)。
它只是 bluebird 的一个实例(在 knex 0.15.2 中)。
它不是必需的,但有时可用。作为 Bluebird 的一个实例,您可以在那里使用一些 Bluebird 函数。例如,如果您喜欢插入(在数据库播种步骤),您可能有兴趣维护插入顺序。所以,Bluebird.mapSeries进来了。
Knex Promise Uses