2016-03-29 62 views
1

我正在開發並對數據庫進行了更改。在我提交之前,我必須將更改添加到我的更改集。所以我做liquibase --url="...;name=db_dev" diff,但它詢問我的參考參數。不過,我不想將url db與另一個db進行比較。我想比較變更集(文件)與目標數據庫。Liquibase差異變化集和數據庫

這可能嗎?

回答

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開始使用模式的更多細節。