Liquibase操作指南

LiquiBase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。LiquiBase的主要特点有:
支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等;
支持多开发者的协作维护;
日志文件支持多种格式,如XML, YAML, JSON, SQL等;
支持多种运行方式,如命令行、Spring集成、Maven插件、Gradle插件等;
安装liquibase

wget https://github.com/liquibase/liquibase/releases/download/liquibase-parent-3.6.2/liquibase-3.6.2-bin.tar.gz
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
tar -zxvf  liquibase-3.6.2-bin.tar.gz -C ./liquibase
tar -zxvf mysql-connector-java-5.1.47.tar.gz -C ./liquibase/lib
export PATH=./liquibase:$PATH
mkdir -p changelogpath
cat db.changelog.xml


    
        
            
                
            
            
                
            
            
        
    


命令行式执行:
字符集问题"jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8

./liquibase --driver=com.mysql.jdbc.Driver \
     --classpath=/root/liquibase/lib/mysql-connector-java-5.1.47.jar \
     --changeLogFile=/root/liquibase/changelogpath/db.changelog-master.xml \
     --url="jdbc:mysql://127.0.0.1:3306/test" \
     --username=root \
     --password=gj1234 \
     --contexts=QA \
     update \
     -Dschema.name=test

回滚命令:

./liquibase --changeLogFile=D:/Tool/liquibase-3.5.3-bin/Release0003.sql \
 --driver=com.mysql.jdbc.Driver \
 --classpath=/root/liquibase/lib/mysql-connector-java-5.1.47.jar \
 --url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8" \
 --username=test \
 --password=test \
 rollbackToDate 2018-01-11 16:52:32

会在库中产生两个表
databasechangelog:保存变更记录
databasechangeloglock:保存锁,只允许一个执行。完整解决方案:
changelog 
        db.changelog-master.xml
        db.changelog-1.0.xml
        db.changelog-1.1.xml
        db.changelog-2.0.xml
db.changelog-master.xml

 


   
   
   
 
db.changelog-1.0.xml
 
 
  
    
      
        
      
    
  
 


The master.xml includes the changelog for the releases in the correct order.
The db.changelog-master.xml is the changelog you pass to all Liquibase calls.

你可能感兴趣的:(Liquibase操作指南)