我刚刚遇到了以下情况:
测试服务器当前正在运行 Flyway,版本 1 (V1
)。每当有任何内容推送到测试服务器上时,测试服务器都会自动更新(包括 Flyway 脚本)develop
branch.
开发人员决定开始在分支上开发新功能feature/123
。该开发人员创建了一个数据库脚本(与 Flyway 兼容),名为V2__cool_feature.sql
。与此同时,另一位开发人员也开始开发一个名为feature/456
。该开发人员还需要一个更新脚本,并将其命名为V3__another_cool_feature.sql
,因为开发者知道V2
已在另一个分支上使用。这feature/456
分支已完成并被合并,因此开发分支上的当前脚本是V1
& V3
。效果很好,V3 脚本被执行,Flyway 就剩下它了schema_version
在版本 3 上。
另一个功能分支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 脚本,但我不知道该怎么做。
我希望我能很好地解释我的问题,如果没有,请发表评论。
呃,我不是一个聪明人。在我的谷歌搜索技能上投入更多精力后,我发现了 Flyway 文档,描述了exactly我的问题:
选项:
乱序
必需的:
不
默认:
错误的
描述:
允许迁移“无序”运行。
如果您已经应用了版本 1 和 3,并且现在找到了版本 2,那么它也会被应用,而不是被忽略。 (甚至使用与我的问题相同的版本 >.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)