我有一个现有的进程,我正在使用它来跟踪SQL更改 - 实质上它只是我跟踪并移动到不同环境的很多SQL更改。我想通过Liquibase开始跟踪这些变化。从我所看到的一切看起来都不错,但我没有看到任何从Java生成ChangeSets的方法。我认为有一种方法可以使用Liquibase jar来编写ChangeSets,而无需自己处理格式化。基本上我的第一个实现就是将原始SQL更改写成Liquibase格式 - 我有原始SQL和初始ChangeLog文件,但我不知道如何在不手动操作的情况下编写它。
有人知道Liquibase是否有任何现有逻辑可以做这类事情?或者有没有任何其他选项可以帮助我做到这一点,而无需自己管理格式?我将要使用的格式是JSON。
答案 0 :(得分:1)
无法从java生成更改集。但是有一种方法可以从现有数据库生成变更集。
在我们的应用程序中,我们使用hibernate来创建表结构。在数据库是最新的之后,我们使用liquibase的generateChangelog方法来生成更改集。还有一种方法可以通过不同的两个表生成更改日志。