我正在使用flyway进行数据库迁移。 我需要在不同的环境(qa,demo,prod)中使用它,因此创建了一个基本文件夹(运行所有迁移)和特定于环境的文件夹。现在基于环境(配置为在应用程序启动时读取的应用程序变量),选择特定文件夹并运行基本和环境特定文件夹中的迁移。
我面临的问题是版本控制。说基本文件夹的当前版本是X.如果我希望下一次迁移是特定于环境的,我给它X + 1。但这可能仅限于某种环境(比如演示,而不是qa和prod)。因此,迁移的顺序在不同环境中是不规则的。 解决方法可以是虚拟迁移(在qa和prod中)以保持序列规则,但这会对现在需要同时检入base和env的开发人员创建另一个约束。最新号码的文件夹。 (分支合并会变得更糟)。 另一个建议是从特定数量(大)开始特定于环境的迁移。这将允许用户继续在基础中进行常规编号,并在环境特定文件夹中继续增加到大数。
但我仍然不相信这是一个好方法。
有没有更好的方法可以在不需要太多工作的环境中维护版本控制(只需查看该文件夹中的最后一个版本即可添加更新的版本)
答案 0 :(得分:1)
使用X.1而不是X + 1。既简单又容易,并且不会干扰您现有的编号。