Flyway:维修不被认可

时间:2016-05-12 18:24:12

标签: java postgresql maven flyway

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

更改了脚本

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

为什么会这样?

1 个答案:

答案 0 :(得分:0)

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

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

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