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