Liquibase diff更改集和数据库

时间:2016-03-29 21:38:24

标签: liquibase

我正在开发并对数据库进行了更改。在我提交之前,我必须将更改添加到我的更改集。所以我做liquibase --url="...;name=db_dev" diff但它要求我提供参考参数。但是我不想将url db与另一个db进行比较。我想将更改集(文件)与目标数据库进行比较。

这可能吗?

1 个答案:

答案 0 :(得分:3)

我认为您可能以非标准方式使用Liquibase。

一种预期的使用模式是通过创建Liquibase"更改集"来创建必要的模式更改。 (在XML,JSON或Liquibase结构化SQL中),然后使用liquibase update将该更改部署到每个数据库实例。

第二种使用模式是您使用您喜欢的任何数据库操作工具直接对数据库进行更改,然后使用liquibase diffChangelog将相应的更改集附加到您的更改日志文件。在进行更改集之后,您必须使用liquibase changelogsync命令在数据库中填充Liquibase DATABASECHANGELOG表,其中包含新变更集已经部署的信息'到数据库。第二种用法要求您:

  • 比较两个实时数据库(例如,您可以将“测试”和“分段数据库”与您手动更改的数据库进行比较)
  • 创建数据库'快照'在进行手动更改之前,进行更改,然后将数据库与快照进行比较。 This page on the Liquibase blog介绍了如何使用liquibase snapshot命令拍摄快照,以及如何将该快照用作“离线数据库”。比较。

This page in the Liquibase documentation在使用Liquibase时有一些关于使用模式的更多详细信息。