liquibase与SpringBoot整合

☆樱花仙子☆ 提交于 2020-11-15 20:40:20

liquibase是什么

liquibase是一个用于跟踪,管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。
说白了就是一个将你的数据库脚本转化为xml格式保存起来,包括你对数据库的修改,以及数据的版本信息,方便数据的升级和回滚等操作。

liquibase的特性

  1. 不依赖于特定的数据库,目前支持包括Oracle/SqlServer/DB2/MySql/Sybase/PostgreSQL/Cache
    等12种数据库,这样在数据库的部署和升级环节可帮助应用系统支持多数据库。
  2. 提供数据库比较功能,比较结果保存在XML中,基于该XML你可用Liquibase轻松部署或升级数据库。
  3. 以XML存储数据库变化,其中以作者和ID唯一标识一个变化(changset),支持数据库变化的合并,因此支持多开发人员同时合作。
  4. 在数据库中保存数据库修改历史(DatebaseChangeHistory),在数据库升级时自动跳过以应用的变化(ChangSet)。
  5. 提供变化应用的回滚功能,可按时间,数量或标签(tag)回滚已应用的变化。通过这种方式,开发人员可轻易的还原数据库在任何时间点的状态。
  6. 可生成数据库修改文档(HTML格式)。

liquibase与SpringBoot整合

1.pom文件

引入

<dependency>
      <groupId>org.liquibase</groupId>
      <artifactId>liquibase-core</artifactId>
      <version>3.6.2</version>
</dependency>

2.application.yaml文件

liquibase:
    enabled: true
    change-log: classpath:db/changelog/db.changelog-master.yml

3.目录

api
	src
		main
			java
			resources
				db
					changelog
						v1.0.0
							20200505.yml
						db.changelog-1.0.0.yml
						db.changelog-master.yml

实例:20200505.yml

databaseChangeLog:
  - changeSet:
      id: de-v1.0.0-20200505-1
      author: xiaoming
      changes:
        - createTable:
            tableName: biaoming(表名)
            remarks: 信息表
            columns:
              - column:
                  name: PROCESSINSTANCE_ID
                  type: varchar(64)
              - column:
                  name: VIRTUAL_INFO
                  type: mediumtext
              - column:
                  name: VIRTUAL_PARAM
                  type: mediumtext
              - column:
                  name: FFR_VIRTUAL_ID
                  type: bigint(20)
                  constraints:
                    primaryKey: true
                    nullable: false
                  remarks: 主键

实例:db.changelog-1.0.0.yml

databaseChangeLog:
  - include:
      file: db/changelog/v1.0.0/20200505.yml

实例:db.changelog-master.yml

databaseChangeLog:
  - include:
      file: db/changelog/db.changelog-1.0.0.yml

总结:项目启动的时候, 执行顺序 db.changelog-master.yml——>db.changelog-1.0.0.yml——>20200505.yml

官网

具体语法参考

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!