liquibase数据库表管理工具

Liquibase是一个开源的数据库版本控制工具,支持多种数据库类型,如MySQL、PostgreSQL等。它允许用户通过XML等格式记录数据库变更,并能自动创建和更新表结构。文章详细介绍了如何创建数据库修改日志文件、初始化数据目录、master.xml文件,以及在配置文件中添加配置。此外,还讨论了Liquibase的回滚功能,包括基于变化集个数、日期和标签的回滚方式。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值