【发布时间】:2021-07-21 07:22:59
【问题描述】:
我们使用 liquibase 来指定数据库布局和它的变化。在开发过程中,我们使用集成在 Java 应用程序中的 liquibase 来执行更新(如有必要)。
由于我们的应用程序无权在生产环境中更改架构,因此 liquibase 无法在生产环境中运行。相反,我们使用 liquibase 来生成 SQL 脚本。然后在部署我们的应用程序之前手动执行这些脚本。
我们希望确保数据库布局与应用程序对应的变更日志相匹配。 SQL 脚本创建DATABASECHANGELOG 表并像liquibase 的update 命令那样插入行,因此有关应用的变更集的信息存储在数据库中。
但是我找不到合适的 liquibase 方法,它只检查应用程序的变更集和数据库布局/DATABASECHANGELOG 是否相等。此方法不得尝试修复该问题,它应该只返回 true/false。 liquibase Java API 中有这样的方法吗?
【问题讨论】:
-
您在寻找
liquibase.diff吗? Javadoc here. -
@RakhiAgrawal 不,diff 命令比较两个不同的数据库。我想比较给定的变更集文件和数据库。