spring-boot - Spring Boot Liquibase 版本化数据库迁移 - 处理不同环境、数据库供应商和数据库凭证

标签 spring-boot database-migration liquibase

我正在考虑使用 Liquibase 对我的 Spring Boot API 的数据库迁移进行版本控制。在考虑之前我已经观看了一些有关它的视频,我发现他们主要谈论设置它,这很棒。

但我关心的是典型的企业环境,例如:

  1. 多种部署环境,例如 PROD、TEST、DEV。例如,我们无权查看或触摸 PROD 环境数据库。在 PROD 环境中委托(delegate)数据库迁移对我来说听起来很危险。

  2. 我们在同一 API 中连接到不同的数据库供应商,例如 PostGres、Oracle、MSSQL、DB2

  3. 在某些情况下,我们必须处理现有的表,例如 其他情况,我们将不得不创建新表

Liquibase 如何处理此类情况?

最佳答案

  1. 您可以使用generate-sql生成需要执行的 sql,然后 DBA 可以运行这些 sql 命令
  2. 如果某些数据库供应商有特定的内容,您可以使用属性 dbms 创建特定的 changeSet。搜索 dbms here
  3. 您应该在此处更具体地说明问题。您可以使用preconditions检查是否应该执行给定的脚本

关于spring-boot - Spring Boot Liquibase 版本化数据库迁移 - 处理不同环境、数据库供应商和数据库凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75826561/

相关文章:

java - Spring Boot @ConfigurationProperties 嵌套的 yaml 属性不会加载

java - Thymeleaf 3.0 Spring Boot + Security 集成不起作用

grails - 如何使用 grails migration 增加 VARCHAR 大小

java - 使用 JPA(带注释的实体)和 liquibase 进行 hibernate

java - 单元测试中的 jOOQ + Liquibase + H2 结果出现 "schema not found"异常

java - 如何使用 Spring Boot 在运行时修改 @Qualifer 值

spring - 使用Spring-Reactor针对不同JVM进行异步事件驱动编程

mysql - 刷新数据库表迁移时出错

node.js - 使用迁移工具生产 SailsJS 系统的分步指南

postgresql - 如何使用 Liquibase 创建和删除 postgres 数据库?