liquibase数据库表管理工具
文章目录
前言
以下是本篇文章正文内容,如有表达不全的问题还请指出,本文中插入的图片由网上下载,如涉及版权问题联系我删除。
一、liquibase是什么?
1、用于数据库重构、管理、记录变化与回滚的开源版本控制工具;
2、可自动创建数据库表、自动初始化数据、更新表结构;
3、支持多种数据库类型:MySQL、PostgreSQL、Oracle、Sql Server;
4、支持多种变化日志格式:XML、YML、JSON、SQL
二、使用步骤
1.创建数据库修改日志文件chanagelog(xml格式)
changelog 配置路经不能省略
addAutoIncrement:将现有的列转换为自动递增(也称为“身份”)列
代码如下(示例):
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<property name="now" value="now()" dbms="mysql"/>
<property name="autoIncrement" value="true"/>
<changeSet id="00000000000001" author="YiHui">
<sqlFile dbms="mysql" endDelimiter=";" encoding="UTF-8" path="liquibase/data/init_schema_221209.sql"/>
</changeSet>
</databeChangeLog>
2.创建初始化数据的目录
sql文件都是预先定义好的数据,本地可以创建空数据库,然后跑liquibase就可以初始化数据库表
3.创建master.xml
<?xml version="1.0" encoding="utf-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
<include file="liquibase/changelog/000_initial_schema.xml" relativeToChangelogFile="false"/>
</databaseChangeLog>
4.配置文件中添加配置
liquibase:
change-log: classpath:liquibase/master.xml
enabled: true # 当实际使用的数据库不支持liquibase,如 mariadb 时,将这个参数设置为false
5.回滚
rollback有3中形式,分别是:
1、rollbackCount: 表示rollback的changeset的个数;
mvn liquibase:rollback -Dliquibase.rollbackCount=3
2、rollbackDate:表示rollback到指定的日期;
mvn liquibase:rollback -Dliquibase.rollbackDate="Apr 10, 2016"
3、rollbackTag:表示rollback到指定的tag,需要使用LiquiBase在具体的时间点打上tag;可以在 changeLog 文件中显式
mvn liquibase:tag -Dliquibase.tag=tag20160410