我正在开发并对数据库进行了更改。在提交之前,我必须将更改添加到我的更改集中。所以我做了
liquibase --url="...;name=db_dev" diff
,但它要求我提供参考参数。但是我不想将 url 数据库与另一个数据库进行比较。我想将更改集(文件)与目标数据库进行比较。
这可能吗?
我认为您可能以非标准方式使用 Liquibase。
一种预期的使用模式是,您通过编写 Liquibase“更改集”(采用 XML、JSON 或 Liquibase 结构化 SQL)来创建必要的架构更改,然后使用
liquibase update
将该更改部署到每个数据库实例。
第二种使用模式是使用您喜欢的任何数据库操作工具直接对数据库进行更改,然后使用
liquibase diffChangelog
将相应的更改集附加到更改日志文件中。进行更改集后,您必须使用 liquibase changelogsync
命令使用新更改集已“部署”到数据库的信息来填充数据库上的 Liquibase DATABASECHANGELOG
表。第二种用法要求您:
liquibase snapshot
命令拍摄快照,以及如何使用该快照作为“离线数据库”进行比较。Liquibase 文档中的此页面提供了有关 Liquibase 入门时的使用模式的更多详细信息。