Spring Boot使用flayway自动执行数据库升级脚本

13 篇文章 0 订阅
2 篇文章 0 订阅

一、       添加flayway-core依赖

<dependency>
   
<groupId>org.flywaydb</groupId>
   
<artifactId>flyway-core</artifactId>
   
<version>5.0.7</version>
</
dependency>

 

二、       配置flayway

   spring.flyway.clean-disabled=true #禁止flyway执行清理
spring.flyway.ignore-missing-migrations=true #忽略缺失的升级脚本验证
#升级脚本位置,可以多个,可以给每个环境使用不同位置
spring.flyway.locations=classpath:db/migration,classpath:test/db/migration

##如果我们并不是在项目初就加flyway的话,则在有历史数据的情况下,加入flyway后,将会出现:set baselineOnMigrate to true to initialize the schema history table.解决方法将baselineOnMigrate设置为true。注意,不同版本的设置方法并不相同。有的版本是:spring.flyway.baselineOnMigrate有的则是flyway.baselineOnMigrate

spring.flyway.baselineOnMigrate=true 

三、        准备升级脚本(注意V1后面是两个下划线),放到spring.flyway.locations指定的目录下()

四、   注意事项

1.       Fayway在每次应用启动时检测是否有需要执行的升级脚本;

2.       文件名以V作为前缀的,后跟版本号,版本号格式可以为为大版本号(1、2),也可以包含小版本号(1.1或1_1),但是需统一,不能有些有小版本号,有些没有;

3.       前缀为V的脚本不可重复执行,每个脚本只会被执行一次。已经执行过的历史版本脚本不能再修改,除非清除flayway的历史记录,重新执行升级脚本,这在生产环境不允许。

前缀为R的脚本,后面无版本号,如R__update_version.sql,可以重复执行,每次内容发生变化时重启后就会执行。

4.       Flyway需要创建存储脚本升级记录用的表,因此需要建表权限,也可以事先建好。默认表名为flyway_schema_history;




  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值