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

更多推荐