springboot整合liqiubase
springboot整合liqiubase
一. 概念
liqiubase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或者回滚到一致的状态.它的目标是提供一种数据库类型无关的解决方案,然后通过执行schema类型的文件来达到迁移.其主要的特点如下: + 支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等; + 支持多开发者的协作维护; + 日志文件支持多种格式,如XML, YAML, JSON, SQL等; + 支持多种运行方式,如命令行、Spring集成、Maven插件、Gradle插件等。
liquibase 官方文档地址:http://www.liquibase.org/documentation/index.html
二. 整合步骤
2.1 引入 liquibase 核心依赖
```xml org.liquibase liquibase-core
```
2.2 添加配置类(也可以在application.yml中配置)
- 在代码中添加
LiquibaseConfig类,用于liquibase的基本配置
```java import javax.sql.DataSource; import liquibase.integration.spring.SpringLiquibase; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;
@Configuration public class LiquibaseConfig {
@Bean public SpringLiquibase liquibase(DataSource dataSource) { SpringLiquibase liquibase = new SpringLiquibase(); liquibase.setDataSource(dataSource); //指定changelog的位置,这里使用的一个master文件引用其他文件的方式 liquibase.setChangeLog("classpath:liquibase/master.xml"); liquibase.setContexts("development,test,production"); liquibase.setShouldRun(true); return liquibase; }
} 2. 在`application.yml`中进行基本配置 yml # liquibase配置 liquibase: enabled: true # 开启liquibase 对数据库的管理功能 change-log: "classpath:/db/changelog/db.changelog-master.yaml" #主配置文件的路径 contexts: dev # 引用立秋脚本的上下文,如果存在多个开发环境的话[生产\开发\测试] check-change-log-location: true # 检查changlog的文件夹是否存在 rollback-file: classPath:/data/backup.sql # 执行更新的时候写入回滚的SQL文件
```
2.3 添加liquibase 核心文件
文件结构如下 
master.xml是主配置文件,用于加载日志文件或者是原有的系统数据库文件 ```xml
```
changelog文件 ```xml
```
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
