Knex - 已经是最新的
Posted
技术标签:
【中文标题】Knex - 已经是最新的【英文标题】:Knex - Already up to date 【发布时间】: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 的当前状态后,我可以看到所有未执行的迁移文件。
【问题讨论】:
【参考方案1】:如果迁移的更改没有在数据库中实现,可以尝试手动从knex_migrations
或者你的迁移表中删除迁移的记录,
并尝试重新应用knex migrate:latest
命令。
但在您尝试这种方式之前,请确保进行备份,或者先在本地计算机或开发服务器上运行它。
【讨论】:
以上是关于Knex - 已经是最新的的主要内容,如果未能解决你的问题,请参考以下文章
KnexTimeoutError: Knex: 获取连接超时