我正在考虑使用 Liquibase 对我的 Spring Boot API 的数据库迁移进行版本控制。在考虑之前我已经观看了一些有关它的视频,我发现他们主要谈论设置它,这很棒。
但我关心的是典型的企业环境,例如:
多种部署环境,例如 PROD、TEST、DEV。例如,我们无权查看或触摸 PROD 环境数据库。在 PROD 环境中委托(delegate)数据库迁移对我来说听起来很危险。
我们在同一 API 中连接到不同的数据库供应商,例如 PostGres、Oracle、MSSQL、DB2
在某些情况下,我们必须处理现有的表,例如 其他情况,我们将不得不创建新表
Liquibase 如何处理此类情况?
最佳答案
- 您可以使用generate-sql生成需要执行的 sql,然后 DBA 可以运行这些 sql 命令
- 如果某些数据库供应商有特定的内容,您可以使用属性
dbms
创建特定的changeSet
。搜索 dbms here - 您应该在此处更具体地说明问题。您可以使用preconditions检查是否应该执行给定的脚本
关于spring-boot - Spring Boot Liquibase 版本化数据库迁移 - 处理不同环境、数据库供应商和数据库凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75826561/