【问题标题】:Delete migration in flyway在 flyway 中删除迁移
【发布时间】:2018-10-14 21:06:00
【问题描述】:

我遇到了以下问题:

org.flywaydb.core.api.FlywayException: Validate failed: Detected applied migration not resolved locally: 1.44

当我了解到我在 1.44 中添加的数据无效并且我不想在旧环境中处理它,但在新环境中我不想要这些数据时,就会发生这种情况。我想要在新迁移中插入的数据(例如 1.48)。

  • 如果我更改旧迁移,它将在旧环境中因校验和而失败;
  • 如果我离开它,在新的环境中我将有来自 1.44 的无效数据;

我怎样才能删除它,以便完成我需要的而不是出错?正确的方法是什么?

【问题讨论】:

    标签: flyway


    【解决方案1】:

    此问题与Best pratice: How to modify flyway migration script after it has been used有关

    基本答案是:一旦应用就不要删除

    在迁移过程中,如果最后一个(在您的情况下为 1.48)是正确的,则中间状态是否不是您想要的并不重要。

    现在,如果您真的需要删除此迁移,请问问自己用空文件替换它是否也可以完成这项工作。如果是,您可以按照我在这里给出的建议进行操作:https://stackoverflow.com/a/35491545/350428

    现在,如果这还不够,并且您真的需要删除此迁移,请删除文件并手动修补 flyway_schema_history 表以使其再次保持一致。这是有风险的,应该是绝对不得已的解决方案。

    【讨论】:

      【解决方案2】:

      您可以撤消您的迁移:UNDO flyway migration

      【讨论】:

      • 这仅适用于付费版本。
      猜你喜欢
      • 2022-01-01
      • 2017-03-16
      • 2021-11-23
      • 2019-12-21
      • 2019-12-27
      • 2013-03-03
      • 2022-01-10
      • 2019-01-16
      • 2018-05-10
      相关资源
      最近更新 更多