我有V1__init.sql
脚本,其中我创建了一个包含1列的表Table1_name
。它运行得很好。然后我决定更改表名,为此,我编辑了V1__init.sql
并从
Create Table Table1_Name
至Create Table TableName
。现在我期待当我运行项目时,flyway将自动检测更改并重命名表,但我得到了一些校验和错误。在阅读了一些文档后,我了解到我需要执行mvn flyway:repair
...现在,当我尝试在项目文件夹中执行此操作时,我得到flyway
不是可识别前缀的错误。
为什么会这样?
答案 0 :(得分:0)
Flyway脚本在执行后不应修改。
在您的示例中,您应该创建第二个SQL文件V2__rename_table1.sql
来重命名该表。然后mvn flyway:migrate
会检测到新脚本并执行它。
如果确实需要重新运行脚本,那么执行mvn flyway:clean flyway:migrate
应该可以解决问题。