liquibase-groovy-dsl 使用

最近在写项目的时候,都用liquibase去管理数据库脚本,个人感觉xml不太好用,发现liquibase-groovy-dsl挺好用,找了一圈,没有发现关于它的博客,只能自己摸索,下面记录自己的配置过程。

什么是liquibase

Liquibase 是一个用于跟踪,管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据) 都保存在XML文件中,便于版本控制。

通俗点就是将你的数据库脚本转为xml记录下来,其中包含了你对数据库的改变,以及数据库的版本信息,方便数据的升级和回滚等操作。

什么是liquibase-groovy-dsl

liquibase是通过xml去记录数据库脚本,有时候看着不怎么直观,而liquibase-groovy-dsl就是遵循liquibase的语法通过使用groovy去实现xml的功能。

spring-boot 整合liquibase-groovy-dsl

注意版本号,liquibase的版本号要和liquibase-groovy-dsl的版本号有是对应关系,不能随便写,会导致启动报错。

  <!--liquibase-groovy-core-->
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <version>4.3.2</version>
        </dependency>

        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-groovy-dsl</artifactId>
            <version>3.0.0</version>
        </dependency>

配置文件

@Configuration
public class LiquibaseConfig {

    @Bean
    public SpringLiquibase liquibase(DataSource dataSource) {
        SpringLiquibase liquibase = new SpringLiquibase();
        liquibase.setDataSource(dataSource);
        // liquibase.setDefaultSchema(DEFAULT_SCHEMA);
        liquibase.setChangeLog("classpath:changelog.groovy");
        return liquibase;
    }

}

changelog.groovy 执行总入口 resources文件夹下

changelog.groovy


databaseChangeLog {
    includeAll path: 'liquibase'
}

脚本放在一个目录下, includeAll path:‘目标目录’ 告诉liquibase执行那个目录下的脚本文件

application.yml

spring:
   liquibase:
    enabled: true

为true时,项目启动时自动就跑脚本,为false则不运行

参考项目

具体代码已经上传到git ,可以参考下面的项目
https://github.com/phyear/blog

语法使用推荐参考这位博主的文章:

https://www.jianshu.com/p/dcab2df0a105

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值