簡介
Liquibase是一個用於跟蹤、管理和應用數據庫變化的開源數據庫重構工具。它將所有數據庫的變化保存在XML文件中,便於版本控制和項目部署升級。在快速搭建項目的JHipster框架中集成了該工具,使用該工具可以穩定、高效率地實現代碼遷移與回滾。
本文使用Java Hipster快速自動生成的項目目錄,簡要說明liquibase使用方法。XML文件所在目錄:resources\config\liquibase。
如上圖所示,每個數據庫定義的dataBaseChangeLog下對應若干條changeSet,每個changeSet以作者和ID唯一標識一個變化,支持多人協同對數據庫操作。
使用方法示例
新增表
1、在liquibase\changelog為新增表建立.xml文件,命名規范:{日期}_added_entity_{表名}。示例:20180920_added_entity_CheckLog.xml
2、編輯liquibase\master.xm,將編寫好的xml文件引入到databaseChangeSet下:
3、編寫表結構
示例:
調整表結構
增加字段
指定為主鍵:
<constraints primaryKey="true" nullable="false"/>
設置非空或默認值:
修改字段屬性
刪除字段
創建索引
為進行數據庫性能調優,必不可少為某些字段增加索引。項目中將表的索引均放在了liquibase\changelog\00000000000000_initial_index.xml文件中。
注意:執行順序上,創建索引應在創建完表后,因此引入文件時索引文件最后引入。
刪除表
初始化數據
系統中所使用的一些數據需要在第一次運行時注入,為便於部署,使用liquibase導入數據庫執行腳本。編輯liquibase\changelog\00000000000000_initial_data.xml,引入初始化SQL腳本。
項目中將SQL腳本放在liquibase\data目錄下
引入CSV文件:
若腳本有變動,勿直接對腳本進行修改,添加修改腳本並引入。