Liquibase使用小结

Posted ygria

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Liquibase使用小结相关的知识,希望对你有一定的参考价值。

 

 

简介

Liquibase是一个用于跟踪、管理和应用数据库变化的开源数据库重构工具。它将所有数据库的变化保存在XML文件中,便于版本控制和项目部署升级。

本文档以TC标注中的任务管理模块(dw-digit-manager)示例,简要说明liquibase使用方法。XML文件所在目录:dw-digit-managersrcmain esourcesconfigliquibase。

 技术图片

 

 

 

 

如上图所示,每个数据库定义的dataBaseChangeLog下对应若干条changeSet,每个changeSet以作者和ID唯一标识一个变化,支持多人协同对数据库操作。

使用方法示例

新增表

1、在liquibasechangelog为新增表建立.xml文件,命名规范:{日期}_added_entity_{表名}。示例:20180920_added_entity_CheckLog.xml

技术图片

 

 

2、编辑liquibasemaster.xm,将编写好的xml文件引入到databaseChangeSet下:

 技术图片

 

 

3、编写表结构

示例:

 技术图片

 

 

 

调整表结构

 

增加字段

 

 技术图片

 

 

指定为主键:

<constraints primaryKey="true" nullable="false"/>

 

设置非空或默认值:

 技术图片

 

 

修改字段属性

 技术图片

 

 

 

删除字段

技术图片

 

 

 

创建索引

为进行数据库性能调优,必不可少为某些字段增加索引。项目中将表的索引均放在了liquibasechangelog0000000000000_initial_index.xml文件中。

注意:执行顺序上,创建索引应在创建完表后,因此引入文件时索引文件最后引入。

技术图片

 

 

 

删除表

 

初始化数据

 

系统中所使用的一些数据需要在第一次运行时注入,为便于部署,使用liquibase导入数据库执行脚本。编辑liquibasechangelog0000000000000_initial_data.xml,引入初始化SQL脚本。

项目中将SQL脚本放在liquibasedata目录下:

技术图片

 

 

 

 

若脚本有变动,勿直接对脚本进行修改,添加修改脚本并引入。

 

以上是关于Liquibase使用小结的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Liquibase 强制列顺序?

使用 Liquibase 创建雪花存储过程

Liquibase-数据库版本管理使用

Liquibase:如何使用 CURRENT_TIMESTAMP 加载数据?

Flyway和liquibase在一起? [关闭]

Liquibase maven插件不起作用