【问题标题】:Flyway:repair is not being recognizedFlyway:无法识别维修
【发布时间】:2016-09-08 17:57:14
【问题描述】:

我有 V1__init.sql 脚本,我在其中创建了一个带有 1 列的表 Table1_name。它运行得很完美。然后我决定更改表名,为此,我编辑了 V1__init.sql 并将脚本从

Create Table Table1_NameCreate Table TableName。现在我期待当我运行项目时,flyway 会自动检测更改并重命名表,但我得到了一些 checksum 错误。在阅读了一些文档之后,我了解到我需要执行 mvn flyway:repair ... 现在,当我尝试在我的项目文件夹中执行此操作时,我收到 flyway 不是可识别前缀的错误。

为什么会这样?

【问题讨论】:

    标签: java postgresql maven flyway


    【解决方案1】:

    Flyway 脚本在执行后不应修改。

    在您的示例中,您应该创建第二个 SQL 文件 V2__rename_table1.sql 来重命名表。然后mvn flyway:migrate 会检测到新脚本并执行它。

    如果您真的需要重新运行脚本,那么执行mvn flyway:clean flyway:migrate 应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 2018-06-27
      • 2020-06-03
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多