2015-06-10 115 views
0

我剛剛發現了Liquibase,而且我正在努力嘗試自動化我的Oracle數據庫版本。liquibase環境腳本

我想了解更多關於如何使用執行令牌替換我的SQL腳本,可能會有所不同,這取決於我的環境我運行Liquibase。

具體來說,Liquibase支持基於環境的SQL腳本的概念嗎?即,我可能會有某些自定義的SQL腳本,這些腳本對於Test,Regression和Live可能會略有不同。因此,在執行我的Liquibase發佈到迴歸時,只會執行那些迴歸特定的更改集,可能會使用迴歸參數。

提前致謝!

回答

0

是的,Liquibase使用'標籤'和'上下文'來控制在不同的環境中應用哪些變更集。本博客文章介紹了他們的詳細信息:

http://blog.liquibase.org/2014/11/contexts-vs-labels.html

Liquibase還支持能夠以各種方式來設置更新日誌屬性 - 該文檔的該頁面顯示的細節:

http://www.liquibase.org/documentation/changelog_parameters.html

以下是該文檔的一部分:

Liquibase允許動態替換更新日誌。 要替換的參數使用$ {}語法進行描述。

配置參數值

參數值按以下順序擡頭:

  • 作爲參數傳遞到您的Liquibase亞軍(見螞蟻,COMMAND_LINE, 等文檔如何通過它們)
  • 作爲JVM系統屬性
  • 在參數塊(<屬性>標記)DatabaseChangeLog文件 本身。
+0

啊太棒了!只是有一個快速的樣子。我特意在替換代幣之後,即爲我的 – user2402135

+0

添加了有關屬性替換功能的一些詳細信息。 – SteveDonie

+0

對不起,我在上次評論中關閉了筆記本電腦的中間句子,並且發佈了它。感謝您對原始帖子的更新。我打算補充說我正在使用sql格式的更新日誌。我可能需要根據我的環境在我的sql格式的更改日誌中「查找並替換」值。但是,我猜動態替換隻支持基於XML的更新日誌?我的理解是否正確?如果是這樣,我怎樣才能實現SQL格式化更新日誌的動態替換?謝謝! – user2402135