Liquibase / 长时间运行的数据库脚本

问题描述 投票:0回答:1

使用 Spring Boot 并通过 Liquibase 管理数据库更改,所有更改都在应用程序启动时执行。这对于快速运行的更改来说完全没问题。

一些变化,例如添加DB索引,可以运行一段时间。如果在 K8s 上运行应用程序,活动/就绪检查会触发应用程序重新启动。在这种情况下,Liquibase 会导致无限循环。

有没有一种模式可以使用 Liquibase 管理长时间运行的脚本?有什么例子吗? 一种方法可能是将更改分为两组:

  • 在应用程序启动之前执行。
  • 或者在应用程序已经启动并运行时执行。
spring-boot kubernetes liquibase
1个回答
0
投票

在应用程序启动后推迟长时间运行的脚本。通过私有 REST API 或类似 API 公开数据库升级调用。

您的代码和开发实践必须支持 n-1 版本的数据库模式。例如:将需要新列的功能隐藏在功能标志后面,直到架构升级完全推出。

© www.soinside.com 2019 - 2024. All rights reserved.