Flyway - 当架构的版本比最新的可用迁移更新时,如何解决问题

问题描述 投票:0回答:1

我是flyway的新手,在接到flyway migrate时我收到了这个警告:

WARNING: Schema 'schema' has a version (34) that is newer than the latest available migration (0) !

在具有迁移的目录中,我将迁移到36,但是下一次迁移都不会应用于数据库。当我将所有迁移状态调用到flyway migrate直到34时,都设置为FUTURE。只缺少一个是29.可能是什么原因和解决方案(清除数据库除外)?

我认为这已经发生了,因为我正在修复29并且我从flyway数据库表中删除了这个迁移并且还恢复了它对db的影响。是否有可能解决这个问题,这是什么意思?

flyway
1个回答
2
投票

免责声明:

这很危险,但是一个选择。

执行以下步骤。

  1. 备份您的架构。至少备份你的schema_version
  2. 删除版本高于29的schema_version中的所有记录(或最近的迁移与版本29相比)。请参阅您的迁移文件夹。
  3. 运行flyway migrate,这将尝试重新创建迁移版本29,但它可能会失败,因为29版本的内容已经应用于数据库。如果失败,请更新此迁移记录以设置列成功= 1。
  4. schema_version的备份中复制数据以插入版本29以上的所有迁移记录。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.