Promise参数是否需要传递给Knex迁移?

ada*_*m.k 2 javascript migration node.js knex.js

运行命令时knex migrate:make table-name 以下代码是新创建的文件中显示的代码。

exports.up = function (knex, Promise) {

  })
}

exports.down = function (knex, Promise) {
}
Run Code Online (Sandbox Code Playgroud)

创建架构后,我注意到我从未使用默认提供的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')
}
Run Code Online (Sandbox Code Playgroud)

我还查看了其他项目,并意识到我从未对Promise参数做任何事情。我想念什么吗?还是默认情况下才提供它,而并非总是需要它?

Mik*_*stö 5

它不需要任何东西。

从节点不具有内置promise时(或者从knex允许选择使用的promise实现之时起提醒)起,这就是历史争论。

它只是bluebird的一个实例(在knex 0.15.2中)。