数据库版本管理工具-flyway的使用

首先官网 https://flywaydb.org/

需要说明的是, 这些参数配到springboot2 项目中, 需要加上 spring. 前缀. 

spring配置


     
     
     
     
     
    

 

 

在/db/migration文件夹下创建sql文件,比如:V1_0_1__初始化.sql,V1_0_2__修改表.sql等,其中sql脚本文件需要按照一定的规则来命名,能够让flyway检测并执行。

数据库版本管理工具-flyway的使用_第1张图片

 

在maven,Spring Boot环境下的使用

        
        
            org.flywaydb
            flyway-core
            5.2.4
        

       
            org.flywaydb
            flyway-maven-plugin
            5.2.4
       

yml配置

    #数据库版本管理工具-flyway
  flyway:
    enabled: true #是否开启flyway,默认true
    baseline-on-migrate: true  #初始化

 

参考

数据库版本管理工具-flyway的使用_第2张图片

## 设定 db source 属性
spring.datasource.url=jdbc:mysql://localhost:3306/world
spring.datasource.username=root
spring.datasource.password=toor

## 设定 flyway 属性 
spring.flyway.cleanDisabled = true 
  # flyway 的 clean 命令会删除指定 schema 下的所有 table, 杀伤力太大了, 应该禁掉. 
spring.flyway.enabled = true
  # 启用或禁用 flyway 
spring.flyway.locations =classpath:db/migration
  # 设定 SQL 脚本的目录,多个路径使用逗号分隔, 比如取值为 classpath:db/migration,filesystem:/sql-migrations
spring.flyway.baselineOnMigrate=true
  # 如果指定 schema 包含了其他表,但没有 flyway schema history 表的话, 在执行 flyway migrate 命令之前, 必须先执行 flyway baseline 命令.
  # 设置 spring.flyway.baseline-on-migrate 为 true 后, flyway 将在需要 baseline 的时候, 自动执行一次 baseline. 
spring.flyway.baselineVersion=1 
  # 指定 baseline 的版本号,缺省值为 1, 低于该版本号的 SQL 文件, migrate 的时候被忽略. 
#spring.flyway.encoding=
  # Encoding of SQL migrations (default: UTF-8)
spring.flyway.table=flyway_schema_history_myapp
  # 设定 flyway 的 metadata 表名, 缺省为 flyway_schema_history
spring.flyway.outOfOrder=true
  # 开发环境最好开启 outOfOrder, 生产环境关闭 outOfOrder . 
#spring.flyway.schemas=
  # 需要 flyway 管控的 schema list, 缺省的话, 使用的时 dbsource.connection直连上的那个 schema, 可以指定多个schema, 但仅会在第一个schema下建立 metadata 表, 也仅在第一个schema应用migration sql 脚本. 但flyway Clean 命令会依次在这些schema下都执行一遍.

 

你可能感兴趣的:(spring,boot)