gpt4 book ai didi

java - 数据库版本控制系统

转载 作者:行者123 更新时间:2023-12-02 02:23:14 25 4
gpt4 key购买 nike

我们有一个使用 spring boot 和 hibernate 的 java 应用程序。

实体和字段有很多变化。这就是为什么,我想遵循更改和回滚机制。因此,我需要一个数据库版本控制系统。我检查了 Flyway 和 liquibase,但我认为这些并不能解决我的问题。因为我的表创建和更新是由 hibernate 处理的。

有什么方法可以查看hibernate执行了哪些查询来更改数据库以及自最近的数据库更改(我的意思是新表、列创建或重构)以来发生了哪些更改?

最佳答案

一种方法(我们如何做):

使用2个数据库。引用数据库和开发数据库。在开发数据库上使用hibernate让它创建结构。

开发周期完成后,您可以在引用数据库上运行 liquibase diffChangelog。它将创建一个changelog.xml,其中包含hibernate 对开发数据库所做的所有更改。手动更正它(名称等)。当您对变更日志文件感到满意并且开发周期完成后,将变更日志应用到引用数据库中。

开始下一个开发周期并重复。

这样,您就可以结合让 hibernate 生成架构的优点,并且仍然使用 liquibase 来拥有可重新创建的版本化 DB-Schema。

关于java - 数据库版本控制系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48191132/

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