1、LiquiBase简介
LiquiBase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。LiquiBase的主要特点有:
- 支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等;
- 支持多开发者的协作维护;
- 日志文件支持多种格式,如XML, YAML, JSON, SQL等;
- 支持多种运行方式,如命令行、Spring集成、Maven插件、Gradle插件等;
2、日志文件changeLog
changelog是LiquiBase用来记录数据库的变更,一般放在CLASSPATH下,然后配置到执行路径中。
changelog支持多种格式,主要有XML/JSON/YAML/SQL,推荐使用xml格式。官网格式
一个标签对应一个变更集,由属性id、name,以及changelog的文件路径唯一标识。
changelog在执行的时候并不是按照id的顺序,而是按照changeSet在changelog中出现的顺序。
changelog中的一个changeSet对应一个事务,在changeSet执行完后commit,如果出现错误则rollback。
3、简单入门使用
1)在application.properties中配置changeLog路径
# liquibase配置
liquibase.enabled=true
#默认位置
#liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml
liquibase.change-log=classpath:/db/changelog/sqlData.xml
2)xml配置sample
<?xml version="1.0" encoding="UTF-8" standalone="no"?>