【发布时间】:2017-05-06 14:14:45
【问题描述】:
我刚遇到以下情况:
测试服务器当前正在运行 Flyway,版本 1 (V1)。每当在 develop 分支上推送任何内容时,测试服务器都会自动更新(包括 Flyway 脚本)。
一位开发人员决定开始在分支feature/123 上开发一项新功能。该开发人员创建了一个名为 V2__cool_feature.sql 的数据库脚本(与 Flyway 兼容)。与此同时,另一位开发人员也开始开发一个名为feature/456 的功能分支。该开发人员还需要更新脚本,并将其命名为V3__another_cool_feature.sql,因为开发人员知道V2 已在另一个分支上使用。这个feature/456 分支已经完成并被合并,因此develop 分支上的当前脚本是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 脚本被执行,我不知道该怎么做。
希望我能很好地解释我的问题,如果没有,请发表评论。
【问题讨论】: