我有两个数据库模式文件,它们都是空的。让我们说db.v1.sql和db.v2.sql中有数据库模式的版本1和版本2。
我想创建一个diff,它将使用模式db.v1.sql将数据库更新为db.v2.sql。
Liquibase能够做到吗? 还有其他工具可以从Java中完成吗?
答案 0 :(得分:2)
是的,这可以使用Liquibase。
liquibase update
将第一个标签应用于第一个数据库实例。 liquibase generateChangelog
来"转换" sql to liquibase xml changesets。这将是你的realChangeLog.xml' liquibase update
与' tempChangeLog.xml'一起使用将第二个标签应用于第二个数据库实例。 liquibase diffChangelog
命令将数据库实例1与数据库实例2进行比较,将更改附加到' realChangeLog.xml' 您现在将拥有一个changelog.xml,可用于将数据库更新为v1或v2。
将新的更改与您的ORM同步是一项单独的练习。