如何在 Spring Boot 应用程序中将数据库模式更改从源数据库同步到目标数据库
Posted
技术标签:
【中文标题】如何在 Spring Boot 应用程序中将数据库模式更改从源数据库同步到目标数据库【英文标题】:How to sync database schema changes from source database to destination database in a spring boot application 【发布时间】:2017-04-06 12:04:49 【问题描述】:我的要求是将 DEV 数据库更改同步到 QA 环境。我正在使用 spring boot 和 hibernate 作为 ORM 有没有办法将数据库模式更改和表数据更改从 DEV 同步到 QA。最好的方法是什么
【问题讨论】:
您可以简单地获取数据库转储并将其加载到您的 QA 服务器中 【参考方案1】:另一种选择是使用Liquibase,它有一个Hibernate extension。当我们使用 Spring Boot 1.3.5 和 Hibernate 4.3 时,它对我们来说工作得相当好,但我很难让它与 Spring Boot 1.4.2 和 Hibernate 5 一起工作。
【讨论】:
【参考方案2】:这不是对当前问题的直接答案,但它将在类似情况下使未来的生活更轻松。值得探索。
如果您可以使用迁移工具并正确维护您的 sql 版本,那就更好了。
Flyway
就是这样的工具,它会在您每次启动服务器时维护和应用新的 sql 版本到数据库。它只会应用新版本,每次您需要更改数据库时,您都需要在新版本中编写该 sql 语句。你可以在网上找到很多帮助,下面的链接解释了如何在 spring boot 中使用它。
https://flywaydb.org/documentation/plugins/springboot
【讨论】:
以上是关于如何在 Spring Boot 应用程序中将数据库模式更改从源数据库同步到目标数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 应用程序中将数据库模式更改从源数据库同步到目标数据库
如何在 Wildfly 中将外部属性文件加载到 Spring Boot
如何在 Spring Boot 应用程序中将用户添加到嵌入式 tomcat?
如何在弹性beantalk中将PostgreSQL RDS连接到spring boot?