![517ee9e6c38fdb37db23e70bd2035aec.png](https://i-blog.csdnimg.cn/blog_migrate/91ebcb10573098048cd700e31374c9b7.png)
上篇文章中详细了介绍了一下changelog 文件的使用,本篇文章将详细说一下 changeSet 变更集 中的细节,以及通常的使用方式
1.变更集分类
changeSet 分为 6类:
- add
- create
- drop
- rename
- sql
- other
官方文档:https://docsstage.liquibase.com/change-types/community/home.html,每一个标签都有其必须的参数,使用时根据情况自行设定即可
用法均为如下格式:
<changeSet>
<xxxx />
</changeSet>
2.1 add
![84f74d7ad10d9248061e6b74669d093f.png](https://i-blog.csdnimg.cn/blog_migrate/0545620dcb40438818b433032af20fa5.jpeg)
2.2 create
![7f0cd27c47c0aa14aacc6da5d81a5c3c.png](https://i-blog.csdnimg.cn/blog_migrate/164589db6d2a04423cab7459f91d8d79.jpeg)
2.3 drop
![1c4038fc7463b0b3a560df0f180d7813.png](https://i-blog.csdnimg.cn/blog_migrate/2fe6fa1f0dc93e7af19d971684a9e648.jpeg)
2.4 rename
![c42d74395f8cc8003cdd1a9a6bc090fc.png](https://i-blog.csdnimg.cn/blog_migrate/ea56e5d8c0b5a994a763dff443d6a02d.jpeg)
2.5 sql
![020eca450c123fb5d9ba64187e2f62db.png](https://i-blog.csdnimg.cn/blog_migrate/b05d1d6efa1cc233597fbb18cc6e5c92.png)
2.6 Other
![6e5b2308cdb0510380f25f0f85aee2f9.png](https://i-blog.csdnimg.cn/blog_migrate/13631d9d250b0b16ce7b806597f0ab41.jpeg)
2.常用变更集
上面这么多的标签,相信已经将很多人的眼睛看花了,不要紧,将它们全部罗列出主要还是想大家能够对 Liquibase 有一个更全面的理解,遇到某些场景时能够对症检索。
接下来我会介绍几个常用的标签,基本能够覆盖大多数场景。
2.1 SQL
最常用以及最顺手的就是 sql 标签,开发人员像使用 Mybatis 一样,写原生SQL,但是如果SQL比较复杂,可读性就不怎么好
<changeSet id="xxxx" author="jiaotd" labels="init" >
<sql>
USE `db_xxx`;
insert into table_t values(1,1,1);
</sql>
</changeSet>
2.2 sqlFile
sqlFIle 就是将上面 SQL 中的语句单独使用文件存储,在 sqlFIle 引入。
这样做的好处是 changelog 文件简单、整洁、可读性高、易于维护。
<changeSet id="xxxx" author="jiaotd" labels="init" >
<sqlFile path="update/xxxx.sql" relativeToChangelogFile="true"/>
</changeSet>
2.3 loadData
loadData 通常用于导入数据,一般我们用于系统升级时导入大量的数据。
<changeSet author="jiaotd" id="loadData-xxx">
<loadData commentLineStartsWith="//"
encoding="UTF-8"
file="example/users.csv"
quotchar="'"
relativeToChangelogFile="true"
schemaName="public"
separator=";"
tableName="person"
usePreparedStatements="true">
<column header="header1"
name="id"
type="NUMERIC"/>
<column index="3"
name="name"
type="BOOLEAN"/>
</loadData>
</changeSet>
Liquibase 系列文章:
1.安装:
九人稚:Liquibase 数据库版本管理工具:1.安装zhuanlan.zhihu.com![25ad6923f5f4ddea267a3be8e7638826.png](https://i-blog.csdnimg.cn/blog_migrate/f42bf4beeb141681fa18659bcb5471cc.png)
2.changelog 详解:
九人稚:Liquibase 数据库版本管理工具:2.changelog 详解zhuanlan.zhihu.com![25ad6923f5f4ddea267a3be8e7638826.png](https://i-blog.csdnimg.cn/blog_migrate/f42bf4beeb141681fa18659bcb5471cc.png)