【发布时间】:2018-04-06 06:02:36
【问题描述】:
我正在使用 flyway 进行数据库迁移。 我需要在不同的环境(qa、demo、prod)中使用它,因此创建了一个基本文件夹(运行所有迁移)和特定于环境的文件夹。现在基于环境(配置为应用程序启动时读取的应用程序变量),选择特定文件夹并运行 base 和环境特定文件夹中的迁移。
我面临的问题是版本控制。假设当前版本的基本文件夹是 X。如果我希望下一次迁移是特定于环境的,我给它 X+1。但这可能仅适用于特定环境(例如演示,而不是 qa 和 prod)。因此,迁移的顺序在不同环境中是不规则的。 解决方法可以是虚拟迁移(在 qa 和 prod 中)以保持序列正常,但这对现在需要同时检查 base 和 env 的开发人员造成了另一个限制。最新号码的文件夹。 (分支合并会变得更糟)。 另一个建议是从特定数量(大)开始特定环境的迁移。这将允许用户继续在 base 中进行常规编号,并继续在特定于环境的文件夹中递增到较大的编号。
但我仍然不相信这是一个好方法。
有没有更好的方法来维护跨环境的版本控制而不需要太多努力(可以通过查看该文件夹中的最后一个来添加新版本)
【问题讨论】:
标签: flyway database-versioning