springBoot+flyway运用

flyway提供的功能:数据库版本管理

  • pom.xml文件用引入文件

    org.flywaydb
    flyway-core
    6.3.3

  • application.yml文件中配置
spring:
  flyway:
    enabled: true    #是否启用flyway(默认true)
    locations: classpath:db/migration/sqlserver    #sql脚本文件位置
  • 数据库脚本规范

命名规范 : V+版本号(纯数字或者以小数点或者以下划线分隔的数字)+__(双下划线)+描述字符串(支持英文和下划线).
版本号:自增,每次都需要增加一位 ,如1,2,3,建议以1.0开始
描述字符串:建议是以操作类型(INIT,UPDATE)加上微服务名称,如果是更新的,再增加更新时间(也可不加)。如:

springBoot+flyway运用_第1张图片

  • 注意事项

1、不支持降级,支持事务回滚,千万不要手动更改数据库表结构!!!更新前,做好备份!
2、在resources资源文件夹下的sql路径要与配置路径保持一致,如上面配置文件夹db/migration/sqlserver
3、不要使用@PostConstruct注解做数据查询处理,因为启动微服务时会先启动PostConstruct里的方法,后启动flyway,可能造成方法无法读取还没有创建的数据库表; 如果要使用,则使用注解@DependsOn(“flywayInitializer”)
4、V7.1.5_20211123_1100__init.sql第三个是两个下划线,请注意!
5、使用R可以重新执行已经修改过的sql文件,如:R__V7.1.5_20211123_1100__init.sql

你可能感兴趣的:(spring,boot,sqlserver,数据库)