使用 Flyway 管理修补程序

2024-01-03

假设我有 2 个分支:

Develop与迁移:

 V1_change1
 V2_change2
 V3_change3
 V4_change4
 V5_change5

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

V1_change1
V2_change2

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

Develop与迁移:

 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 (如果没有冲突,如果有冲突我必须更改所有以下迁移)

最后我有:

Develop与迁移:

 V1_change1
 V2_change2
 V3_sth_completely_different
 V4_change4
 V5_change5
 V6_change3

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

V1_change1
V2_change2
V3_sth_completely_different

问题是:我是否做得太过分了?

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

我现在使用的过程非常麻烦。

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


Flyway 常见问题解答涵盖了这一点处理热修复的最佳策略是什么? https://flywaydb.org/documentation/faq#hot-fixes但是它使用了您希望避免的 x.y 版本号。另一种方法是将版本号乘以 10 或 100,并使用中间的整数来表示修补程序。使用 10 可以得到 9 个修补程序,或者使用 100 可以得到 99 个修补程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Flyway 管理修补程序 的相关文章

随机推荐

  • Postgres Interval 与 Dapper 和 npgsql 不起作用

    我正在将 Dapper 与 Postgres npgsql 一起使用 但在使用以下命令执行 SQL 命令时遇到问题INTERVAL 该命令在我的代码之外运行良好 我收到错误 Npgsql PostgresException 42601 1
  • 使用 XML::LibXML 迭代 xml 节点的 perl 脚本

    我正在尝试编写一个 perl 脚本来迭代某些节点并获取 xml 文件中的值 我的 XML 文件如下所示并保存为 spec xml
  • 如何在 Swift 中声明和初始化数组

    我在 Swift 中有一个类 我正在尝试编写它 它有一个对象数组的变量 有更好的方法来写这个吗 var myvar Array
  • 使用 FileManager 复制文件时出错(CFURLCopyResourcePropertyForKey 失败,因为传递的 URL 没有方案)

    我正在尝试使用以下命令将一些 媒体 文件从一个文件夹复制到另一个文件夹FileManager s copyItem at path 但我收到错误 CFURLCopyResourcePropertyForKey 失败 因为它传递的 URL 没
  • Elastic Search - 用于内部命中的 java api

    我做了一些查询 如下所示 query nested path comments votes query inner hits 我将它转换为java api QueryBuilders boolQuery must boolQuery mus
  • 为不同的语言环境定制 java.text 格式化程序

    构建一个支持不同语言环境的 java 应用程序 但想要自定义DateFormat显示超出之间可用的内容FULL LONG MEDIUM and SHORT日期格式选项 想做一些事情 比如在日期和时间部分之间放置一个字符DateFormat
  • 索引 0 {} 处缺少参数名称

    我尝试写一个演示 交付演示 https github com CIeNET Corda deliverydemo基于训练营cordapp https github com corda bootcamp cordapp并参考cordapp 示
  • 使用反射更改只读属性

    是否可以 通过反思还是其他方式 正如其他人所说 如果您需要这样做 那么您首先将面临设计问题 现在 如果你想知道这是否可能只是为了了解 或者如果地球上没有其他方法可以做到这一点 那么在一个非常小的帮助下 这确实是可能的辅助库 http git
  • 如何将数据文件包含在应用程序的 APK 中?

    我想在安装 Android 应用程序时创建一些预先创建的文件 我想在内部存储器 data data files 和新创建的 sdcard 目录 sdcard data1 中创建文件 我怎样才能做到这一点 如果您有大量文件和目录结构 则应使用
  • 如何使用 Stylish 或 Greasemonkey 替换 @media (max-width)?

    我在查看时遇到问题这个网站 http www fleaflicker com nfl 在我的桌面浏览器上 它们采用响应式 流畅设计 当浏览器宽度小于 990 像素时 显示移动菜单按钮而不是水平导航栏 由于我使用的是 125 缩放的 Fire
  • 如何在pandas中创建日历表(日期维度)

    数据库设计中有时会使用带有主键的日期表 date id Date Record timestamp Day Week Month Quarter Year half Year 0 2000 01 01 NaN Saturday 52 1 1
  • Django:db_index 和 makemigrations

    我想在模型中的现有字段中添加一些 db index 我刚刚添加了db index True到模型 我想我需要跑步python manage py migrate将它们应用到数据库上 我的问题是没有检测到任何更改 因此没有创建迁移 这是正常行
  • 使用 python 和 OpenCV 从图像中提取数字

    我正在寻找一些编码解决方案 帮助从液晶显示屏中提取数字 然后从图像中输出值 下面是代码和示例图像以及到目前为止我是如何得到的 但我需要一些进一步的帮助来实际从图像中提取 数字 并输出值 我从前面的例子中制作了数字查找表 import the
  • 尝试加载字体时出现 GD 错误

    我尝试通过以下方式加载字体图像加载字体 http www php net manual en function imageloadfont php功能 当我运行脚本时 我收到错误 gd warning product of memory a
  • R语言,暂停循环并要求用户继续

    我有一个想法在某些迭代中暂停循环并向 用户 询问一些答案 例如 some value 0 some criteria 50 for i in 1 100 some value some value i if some value gt so
  • 如何捕获无效的用户输入[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我不理解 Try throw catch 语句 并且想知道当代码中的所有 put 都应该是 int 时 捕获 char 的最佳方式是什么 这
  • TableView 单元格分隔线未延伸到整个单元格

    我正在开发一个新项目 并在 UI 中使用了故事板 我的所有 tableView 都存在行分隔符问题 下图显示了两条线 第一个是在属性检查器中设置的蓝色 第二个是黑色的 添加了我放置在单元格中的 imageView 该线确实延伸到单元格的右侧
  • 如何在 Java 中连接两个列表?

    有没有比以下更简单的方法 List
  • 无需分组即可获得最大值

    假设我有一张这样的表 name age a 1 b 2 c 3 d 4 e 5 f 6 通常 当我们选择 MAX age 时 它返回 f 6 元组 但我想要的是它应该按原样返回表 但所有年龄值都将是最大值 例如 name age a 6 b
  • 使用 Flyway 管理修补程序

    假设我有 2 个分支 Develop与迁移 V1 change1 V2 change2 V3 change3 V4 change4 V5 change5 Master迁移 部署在生产环境中 V1 change1 V2 change2 现在我