gpt4 book ai didi

java - 通过 Spring Boot 仅在 Release 内(仅最后更新文件)进行可重复迁移

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:29 25 4
gpt4 key购买 nike

我们希望以允许重复上次迁移的方式使用 Flyway,只要最后一个 schemaVersion 仍未发布,因此最后的数据库更改文件不仅会重新执行,而且如果可能的话,在清除最后的更改后(所以这不完全是我推断的可重复迁移概念)。

有什么解决方案或好主意可以解决这个需求吗?我们正在使用 Spring Boot 配置 Flyway 进程。

编辑:到目前为止(感谢 Axel)我发现了这两种选择:

  • 0.任何更改的增量架构,即使是在发布中(避免这是问题的动机)

  • 1.在发布之前的任何管道/部署中使用 spring.flyway.cleanOnValidationError 属性设置为 true 这意味着如果我们更改快照之前的版本控制脚本,我们会在部署时意识到发布管道

  • 2.使用可重复迁移 (R__) 并进行一些修改以在发布管道期间将名称更改为版本化迁移问题:CREATES 和 DROPS 都可以,但是 ALTERS 需要 PL/SQL 用于 IF存在部分

  • 3.将数据库迁移提供程序更改为支持降级的提供程序(同一个 flyway 文档说这通常是一个有问题的想法)

如果没有人找到更好的解决方案,我会接受 Axel 的回答

最佳答案

flyway.cleanOnValidationError 设置为 true 以获得您想要的(或非常接近):在开发中快速迭代,并在迁移更改时自动重新创建模式。

关于java - 通过 Spring Boot 仅在 Release 内(仅最后更新文件)进行可重复迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47532679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com