Knex迁移不起作用,怎么回事?

AJc*_*dez 4 postgresql knex.js

我似乎无法使用knex迁移数据库.在up命令中,它失败了.

knex.migrate.latest({}).finally(function () {
  knex.destroy()
})
Run Code Online (Sandbox Code Playgroud)

我收到一个错误.

Possibly unhandled TypeError: undefined is not a function
    at SchemaBuilder_PG.Target.then (cwd/node_modules/knex/lib/interface.js:25:10)
    at SchemaBuilder_PG.Target.(anonymous function) [as bind] (cwd/node_modules/knex/lib/interface.js:71:21)
    at Migrator_PG.<anonymous> (cwd/node_modules/knex/lib/migrate/index.js:93:6)
    at Migrator_PG.<anonymous> (cwd/node_modules/knex/lib/migrate/index.js:138:15)
    at Migrator_PG.Migrator._migrationData (cwd/node_modules/knex/lib/migrate/index.js:154:10)
    at Migrator_PG.<anonymous> (cwd/node_modules/knex/lib/migrate/index.js:22:15)
From previous event:
    at Function.Promise$All [as all] (cwd/node_modules/knex/node_modules/bluebird/js/main/promise.js:198:12)
    at Migrator_PG.Migrator._migrationData (cwd/node_modules/knex/lib/migrate/index.js:152:18)
    at Migrator_PG.<anonymous> (cwd/node_modules/knex/lib/migrate/index.js:22:15)
Run Code Online (Sandbox Code Playgroud)

我发誓昨天工作了.我尝试删除并重新创建数据库.没运气.怎么了?我怎样才能解决这个问题?

在knex来源中似乎没有任何明显的挖掘.

AJc*_*dez 6

没关系,是愚蠢的.尝试在未设置的配置中使用环境变量.

var knex = require('knex')

var config = {
  client: 'pg',
  connection: process.env.DATABASE_URL,
}

module.exports = knex(config)
Run Code Online (Sandbox Code Playgroud)

现在工作.