简介
Liquibase是一个用于跟踪、管理和应用数据库变化的开源数据库重构工具。它将所有数据库的变化保存在XML文件中,便于版本控制和项目部署升级。在快速搭建项目的JHipster框架中集成了该工具,使用该工具可以稳定、高效率地实现代码迁移与回滚。
本文使用Java Hipster快速自动生成的项目目录,简要说明liquibase使用方法。XML文件所在目录:resourcesconfigliquibase。
如上图所示,每个数据库定义的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"/>
设置非空或默认值:
修改字段属性
删除字段
创建索引
为进行数据库性能调优,必不可少为某些字段增加索引。项目中将表的索引均放在了liquibasechangelog 0000000000000_initial_index.xml文件中。
注意:执行顺序上,创建索引应在创建完表后,因此引入文件时索引文件最后引入。
删除表
初始化数据
系统中所使用的一些数据需要在第一次运行时注入,为便于部署,使用liquibase导入数据库执行脚本。编辑liquibasechangelog 0000000000000_initial_data.xml,引入初始化SQL脚本。
项目中将SQL脚本放在liquibasedata目录下
引入CSV文件:
若脚本有变动,勿直接对脚本进行修改,添加修改脚本并引入。