1.概述
Liquibase 是一个用于跟踪,管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据) 都保存在XML文件中,便于版本控制。
liquibase说白了就是一个将你的数据库脚本转化为xml格式保存起来,其中包含了你对数据库的改变,以及数据库的版本信息,方便数据的升级和回滚等操作。
2.Liquibase特性
不依赖于特定的数据库,目前支持包括Oracle/SqlServer/DB2/MySql/Sybase/PostgreSQL/Cache 等12种数据库,这样在数据库的部署和升级环节可帮助应用系统支持多数据库。
提供数据库比较功能,比较结果保存在XML中,基于该XML你可用Liquibase轻松部署或升级数据库。
以XML存储数据库变化,其中以作者和ID唯一标识一个变化(changset),支持数据库变化的合并,因此支持多开发人员同时合作。
在数据库中保存数据库修改历史(DatebaseChangeHistory),在数据库升级时自动跳过以应用的变化(ChangSet)。
提供变化应用的回滚功能,可按时间,数量或标签(tag)回滚已应用的变化。通过这种方式,开发人员可轻易的还原数据库在任何时间点的状态。
可生成数据库修改文档(HTML格式)。
提供数据重构的独立的IDE 和 Eclipse插件。
Liquibase的核心就是 存储变化的XML
3.Liquibase 和 springBoot 整合
Spring boot 本身支持Liquibase,所以pom 文件添加依赖后,application.yml/application.properties定制配置信息即可。不配置使用springboot的默认配置,这样就可以用了,项目启动时就会去运行指定目录下的数据库更改文件。
1、添加pom.xml
2、application.yml配置(可选)
不配置,默认去resource/db/changelog下找db.changelog-mastert.yml文件,
我想用xml文件的话就要修改配置(也可以在pom文件中配置)
liquibase:
enabled: true
change-log: classpath:/db/changelog/db.changelog-master.xml
4.编辑数据库变更文件
1.resource/config/liquibase/master.xml --->引用了下面个文件
2.resource/config/liquibase/changelog/DeviceInfo.xml ---> 对设备信息表的更改操作
3.resource/config/liquibase/changelog/DeviceType.xml ---> 对设备类别表的更改操作
也可以用这样的方式~~