【问题标题】:Is the Promise argument passed into Knex migrations needed?是否需要将 Promise 参数传递给 Knex 迁移?
【发布时间】:2018-09-26 14:04:24
【问题描述】:

运行命令时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 参数做过任何事情。我错过了什么吗?还是只是默认提供而不总是需要?

【问题讨论】:

    标签: javascript node.js migration knex.js


    【解决方案1】:

    什么都不需要。

    这是从节点没有内置承诺时的历史论点(或者可能是从 knex 允许选择使用的承诺实现时的提醒)。

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

    【讨论】:

    • 太棒了!谢谢。
    【解决方案2】:

    它不是必需的,但有时可以使用。作为 Bluebird 的一个实例,您可以在那里使用一些 Bluebird 功能。例如,如果您喜欢插入(在数据库播种步骤中),您可能有兴趣维护插入顺序。所以,Bluebird.mapSeries 进来了。

    Knex Promise Uses

    【讨论】:

      猜你喜欢
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多