我刚刚遇到以下情况:
测试服务器当前正在运行Flyway,版本为1(V1
)。只要在develop
分支上推送任何内容,测试服务器就会自动更新(包括Flyway脚本)。
开发人员决定开始处理分支feature/123
上的新功能。该开发人员创建了一个名为V2__cool_feature.sql
的数据库脚本(兼容Flyway)。与此同时,另一位开发人员也开始处理名为feature/456
的功能分支。此开发人员还需要更新脚本,并将其命名为V3__another_cool_feature.sql
,因为开发人员知道V2
已在另一个分支上使用。此feature/456
分支已完成并已合并,因此开发分支上的当前脚本为V1
& V3
。这很好用,并且V3脚本被执行,使Flyway在版本3上保留schema_version
。
另一个功能分支feature/123
也已合并,这意味着开发分支包含脚本V1
,V2
& V3
。
现在这是因为我遇到了Flyway问题:
执行包括Flyway在内的构建,它会留下以下消息:
[INFO] Database: jdbc:mysql://example.com:3306/my_schema (MySQL 5.5)
[INFO] Successfully validated 2 migrations (execution time 00:00.019s)
[INFO] Current version of schema `my_schema`: 3
[INFO] Schema `my_schema` is up to date. No migration necessary.
我想要发生的是V2脚本已执行,我不知道该怎么做。
我希望我能很好地解释我的问题,如果没有,请发表评论。
答案 0 :(得分:0)
选项: outOfOrder
必需: NO
默认: 假
描述: 允许迁移运行"无序"。 如果您已经应用了版本1和版本3,现在找到版本2,则它也将被应用而不是被忽略。 (即使使用与我的问题相同的版本控制>。<)