我将如何使用liquibase API生成两个数据库之间的差异的更改日志,包括回滚标签。
我的代码目前看起来像这样
CompareControl compareControl = new CompareControl();
DiffResult diffResult = liquibase.diff(referenceDatabase,
siteDatabase, compareControl);
// Output the diff
DiffOutputControl diffOutputControl = new DiffOutputControl(
Boolean.FALSE, Boolean.FALSE, Boolean.FALSE);
new DiffToChangeLog(diffResult, diffOutputControl)
.print(diffChangelogFile);
它工作正常,但我也需要它来包含回滚语句。我无法在CompareControl或DiffOutputControl类中看到任何相关内容。
如果您所说的"回滚标签"是指更改日志 XML 中的<rollback></rollback>
标签,则无法通过在两个数据库之间进行差异来获取这些标签。在正常部署期间,这些标记中的任何内容都不会写入数据库。