【问题标题】:How to handle merging of branches that are not in a sequence in combination with Flyway如何结合Flyway处理不按顺序的分支合并
【发布时间】: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 分支上的当前脚本是V1V3。这运行良好,V3 脚本被执行,Flyway 的schema_version 在版本 3 上。

另一个特性分支feature/123也被合并了,这意味着开发分支包含脚本V1V2V3

现在这是我在使用 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 git-flow


【解决方案1】:

呃,我不是一个聪明的人。在我的谷歌搜索技能上付出更多努力后,我找到了 Flyway 文档,准确地描述了我的问题:

选项: 无序

必填: 没有

默认值: 假的

说明: 允许“乱序”运行迁移。 如果您已经应用了版本 1 和 3,现在找到了版本 2,它也会被应用而不是被忽略。 (甚至使用与我的问题相同的版本>.

【讨论】:

  • 你能把链接放在 Flyway 文档中吗?
  • 对不起,这个太旧了,我不知道它在哪里。
  • 那么通过您提到的做法,您的问题已经解决并且您已经在您的团队中解决了?
猜你喜欢
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
相关资源
最近更新 更多