gpt4 book ai didi

java - 使用 Flyway 管理修补程序

转载 作者:搜寻专家 更新时间:2023-10-30 22:29:29 25 4
gpt4 key购买 nike

假设我有 2 个分支:

开发迁移:

 V1_change1
V2_change2
V3_change3
V4_change4
V5_change5

Master 迁移(部署在生产环境中):

V1_change1
V2_change2

现在我正在对生产进行修补程序,添加新的迁移 V3_sth_completely_different,所以情况是:

开发迁移:

 V1_change1
V2_change2
V3_change3
V4_change4
V5_change5

Master 迁移(部署在生产环境中):

V1_change1
V2_change2
V3_sth_completely_different

接下来,我将合并部署到 master 的更改以进行开发(我正在使用支持分支来完成所有这些工作,但目前并不重要)。

我想要一致的数据库版本(V1、V2、V3 ...)所以我不想使用时间戳。因为没有回滚功能,所以我必须:

  1. 从数据库中手动删除 V3_change3、V4_change4、V5_change5 迁移
  2. 删除 schema_version 中的行
  3. 将名称 V3_change3 更改为 V6_change3(如果没有冲突,如果有我必须更改所有后续迁移)

最后我有:

开发迁移:

 V1_change1
V2_change2
V3_sth_completely_different
V4_change4
V5_change5
V6_change3

Master 迁移(部署在生产环境中):

V1_change1
V2_change2
V3_sth_completely_different

问题是:我是不是做得太过了?

如何使用保留简单版本号 V1、V2、V3... 的 Flyway 管理修补程序?

我现在用的流程很繁琐。

============================================= =========================

最佳答案

Flyway FAQ 在 What is the best strategy for dealing with hot fixes? 下对此进行了介绍但是,它使用您希望避免的 x.y 版本号。另一种方法是将版本号乘以 10 或 100,然后使用中间整数表示修补程序。使用 10 给你 9 个修补程序或 100 给你 99。

关于java - 使用 Flyway 管理修补程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com