【发布时间】:2011-10-16 03:51:12
【问题描述】:
让我们考虑一下 Flyway 常见问题解答部分中的 What is the best strategy for dealing with hot fixes? 问题。在这个问题中:
- 应用程序版本 7(和数据库版本 7)已部署在生产环境中
- 从应用版本 8 开始工作
- DB 版本 8 在验收测试环境中开发和部署
- 在生产中发现错误
- DB 7.1 版已开发完成,必须经过验收测试
当针对验收测试环境调用flyway:migrate时,它会注意到v8已经执行,因此不需要执行v7.1。
一方面这是有道理的,因为 v7.1 可能与 v8 不兼容,而且 Flyway 无法对此进行分析。 Fail-fast 是完全可以理解的。
另一方面,将 v7.1 部署到验收测试环境的唯一方法是清理数据库并运行 flyway:migrate with target = v7.1,从而丢弃可能已经使用的数据。
是否有我不知道的功能可以处理这种情况,或者是 clean + migrate.target=v7.1 唯一的选择?
【问题讨论】:
标签: database continuous-deployment flyway