【问题标题】:Knex - Already up to dateKnex - 已经是最新的
【发布时间】:2020-10-30 13:26:15
【问题描述】:

我正在努力解决与生产环境 (heroku) 上 knex 中的迁移有关的问题。我进行了一些更改并创建了 8 个新的迁移来更新模型。创建新迁移后,我已达到 47 个迁移文件。将更改上传到 Heroku 后,我照常执行knex migrate:latest,但没有任何效果。我收到了Already up to date的消息。

我决定查看knex_migrations 表,看看那里是否有问题。我可以看到新迁移未写入该数据库的结果(请参阅图片以供参考。

当我们查看迁移时,它看起来像这样:

很明显,我们可以看到 knex 能够将“20200216191040_receiver_company.js”作为最后一个运行。

当我查看knex_migrations_lock 表时,那里存在的唯一条目如下所示:

有谁知道如何强制 knex 运行迁移?我用的knex版本0.16.3

编辑:

我想在本地机器上添加它,我在运行迁移时没有问题。此外,我检查了服务器上是否存在迁移文件,在提取 Heroku 的当前状态后,我可以看到所有未执行的迁移文件。

【问题讨论】:

    标签: node.js database postgresql migration knex.js


    【解决方案1】:

    如果迁移的更改没有在数据库中实现,可以尝试手动从knex_migrations或者你的迁移表中删除迁移的记录, 并尝试重新应用knex migrate:latest 命令。

    但在您尝试这种方式之前,请确保进行备份,或者先在本地计算机或开发服务器上运行它。

    【讨论】:

      猜你喜欢
      • 2017-07-03
      • 2018-11-27
      • 2021-09-24
      • 1970-01-01
      • 2022-07-09
      • 2014-04-14
      • 2012-04-25
      • 2014-11-11
      • 1970-01-01
      相关资源
      最近更新 更多