數據庫重構工具實踐總結

        自從看了《持續集成 軟件質量改進和風險降低之道》後,對在研發團隊內部如何建設一個高效的持續集成平臺產生了興趣。目前已在團隊內部引入了Jenkins持續集成工具,已經連續在三個項目中進行了實踐。目前持續環境缺少對數據庫的持續集成,在做內部培訓時,同事介紹了Liquibase工具可以對數據庫重構進行管理。對Liquibase做了研究,完成了ant與liuquibase的集成。將學習的心得記錄下來,在合適的時機引入到研發流程中。

1、liquibase簡介

      Liquibase是一個用於跟蹤、管理和應用數據庫變化的開源的數據庫重構工具。它將所有數據庫的變化(包括結構和數據)都保存在XML文件中,便於版本控制。

Liquibase具備如下特性:

 * 不依賴於特定的數據庫,目前支持包括Oracle/Sql Server/DB2/MySql/Sybase/PostgreSQL/Caché等12種數據庫,這樣在數據庫的部署和升級環節可幫助應用系統支持多數據庫。
     * 提供數據庫比較功能,比較結果保存在XML中,基於該XML你可用Liquibase輕鬆部署或升級數據庫。
     * 以XML存儲數據庫變化,其中以作者和ID唯一標識一個變化(ChangSet),支持數據庫變化的合併,因此支持多開發人員同時工作。
     * 在數據庫中保存數據庫修改歷史(DatabaseChangeHistory),在數據庫升級時自動跳過已應用的變化(ChangSet)。
     * 提供變化應用的回滾功能,可按時間、數量或標籤(tag)回滾已應用的變化。通過這種方式,開發人員可輕易的還原數據庫在任何時間點的狀態。
     * 可生成數據庫修改文檔(HTML格式)
     * 提供數據重構的獨立的IDE和Eclipse插件


2、liquibase使用步驟

       1)創建變更控制文件db.change.xml

       2)  編寫變更集合changeset,changeset支持xml、sql、yaml格式

       3)執行更新命令,將變更記錄更新到數據庫中


3、liuiqbase最佳實踐

       1) 使用樹形結構管理變更控制文件

        2)  每個變更集合使用順序序列號或有意義的名字記錄

        3)變更集中編寫註釋,這將有利於後期回憶和修改、其他人閱讀我們的變更

         4) 思考迴歸。現在還沒有理清楚如何使用迴歸功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章