让我们考虑一下Flyway FAQ部分中的What is the best strategy for dealing with hot fixes?问题。在这个问题中:
当flyway:migrate将在验收测试环境中调用时,它会注意到v8已经被执行,因此不需要执行v7.1。
一方面它是有道理的,因为v7.1可能与v8不兼容,并且不能由Flyway来分析它。快速失败是完全可以理解的。
另一方面,将v7.1部署到验收测试环境的唯一方法是清理数据库并运行flyway:migrate with target = v7.1,从而丢弃可能已使用它的数据。
是否有一个我不知道处理这种情况的功能还是干净+ migrate.target = v7.1是唯一的选择?
答案 0 :(得分:0)
不仅仅是一个不同的功能,它还有一个不同的过程。
如果您确实希望将数据保留在验收环境中,我建议使用修补程序运送数据库v8,然后实际更改可以是v8.1。在部署相应的代码之前,v8架构的功能可能仍未使用。但在大多数情况下,这不会造成任何伤害。