在這裏我說說個人使用步驟,liquibase是用java開發的,固然必須安裝jdk了,在這裏jdk的安裝方式我就不說了,關鍵說說liquibase的基本使用。我是在windows 10下使用的java
1、下載liquibase-3.5.3-bin.zip包,我下的是最新的
下載後解壓liquibase-3.5.3-bin.zip包,我解壓到了D:\Tool\liquibase-3.5.3-bin這個目錄下mysql
2、配置環境變量
假設安裝目錄是D:\Tool\liquibase-3.5.3-bin。
配置環境變量,添加LIQUIBASE_HOME,值爲D:\Tool\liquibase-3.5.3-bin。添加到 Path變量,編輯此變量,在其前面加%LIQUIBASE_HOME%;sql
3、建立SQL文件
在D:\Tool\liquibase-3.5.3-bin下建立一個Release0003-1.sql文件
一個SQL文件能夠多個changeset、一個changeset能夠額執行多條SQL語句,文件內容數據庫
--liquibase formatted sql --changeset chenfj:Release0003-1 CREATE TABLE table3 ( id int(11) NOT NULL, name varchar(255) NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM; ALTER TABLE table3 CHANGE id id INT( 11 ) AUTO_INCREMENT; ALTER TABLE table3 CHANGE name firstname VARCHAR( 255 ); INSERT INTO table3 (id, firstname) VALUES (NULL, 'name1'),(NULL, 'name2'), (NULL, 'name3'); --rollback drop table table3;
格式化SQL文件
關於SQL語句的語法依賴於選擇的數據庫類型,如下語法僅適用於mysql爲例。Liquibase是經過SQL註釋「--」來標記標籤的,每一個SQL文件必須開頭加入一下聲明:
--liquibase formatted sql
Changesets變動集
每一個變動集開始處都必須添加一些聲明信息:
--changeset author:id attribute1:value1 attribute2:value2 [...]
其中,author:id是必須的,其餘的參數能夠使用默認值,暫不修改。每一個變動集能夠帶一個或者多個SQL聲明,默認使用「;」隔開,每一個變動集生成一條對應的記錄。windows
4、運行SQL文件
在D:\Tool\liquibase-3.5.3-bin\lib下放入mysql-connector-java-5.1.30.jar包
在命令行運行如下命令更新sql:
liquibase --changeLogFile=D:/Tool/liquibase-3.5.3-bin/Release0003.sql --driver=com.mysql.jdbc.Driver --classpath=D:/Tool/liquibase-3.5.3-bin/lib/mysql-connector-java-5.1.30.jar --url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8" --username=test --password=test updateui
回滾命令:url
liquibase --changeLogFile=D:/Tool/liquibase-3.5.3-bin/Release0003.sql --driver=com.mysql.jdbc.Driver --classpath=D:/Tool/liquibase-3.5.3-bin/lib/mysql-connector-java-5.1.30.jar --url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8" --username=test --password=test rollbackToDate 2018-01-11 16:52:32spa