2017-02-28 64 views
1

Liquibase是編排數據庫更改的好工具。我在集羣環境中啓動時運行liquibase變更集。第一個應用程序實例放入一個鎖(在數據庫更改日誌表)並執行更改集。其他情況下,他們抓住鎖,只是將被執行的變更集標記爲MARK_RAN。到現在爲止還挺好。liquibase databasechangelog不顯示機器名稱

最近有一個問題,我不得不深入到databasechangelog表的細節。我期待在元信息中看到實例名稱(機器名稱)。但我在那裏找不到它。有沒有一種方法可以自定義liquibase行爲,以便將實例名稱作爲元信息寫入數據庫交換日誌表中?

謝謝!

回答

1

這可能必須是對Liquibase本身的改變 - 您無法通過配置進行任何操作。 DATABASECHANGELOGLOCK表具有用於該目的的列LOCKEDBY,但DATABASECHANGELOG表被設計爲不在意。如果您想在更改部署時跟蹤誰正在運行Liquibase,那麼您必須執行類似於我們在Datical所做的操作 - 我們使用自定義代碼來封裝Liquibase。我們有一個班級在發生部署時傾聽來自Liquibase的事件,然後我們將這些信息寫入「審計」數據庫,以便跟蹤所有這些情況。

+0

我很感謝你的回答。謝謝! – aug70co