1. 参考资料:

flyway官网下载地址https://flywaydb.org/documentation/migrations

2. 使用说明:

在maven,Spring Boot环境下的使用,pom.xml配置文件配置如下

	<!--公共服数据库升级,依赖flyway包 -->
	<dependency>
		<groupId>org.flywaydb</groupId>
		<artifactId>flyway-core</artifactId>
	</dependency>

配置文件application.properties,业务调用只需要配置数据源相关配置即可使用
#数据库(业务服所需配置)

#数据库(业务服所需配置)
spring.datasource.driver-class-name=db.driver
spring.datasource.url=jdbc:mysql://url:port/dbname?characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&autoReconnectForPools=true
spring.datasource.username=username
spring.datasource.password=password


#公共服务升级配置(配置中心默认配置)
#flyway配置
# 是否启用 flyway
flyway.enabled=true

# 脚本位置
flyway.locations=mysql/script

# 待升级的数据库的JDBC URL。如果没有设置,就使用配置的主数据源。
flyway.url=${spring.datasource.url}

# 待升级数据库的登录用户。
flyway.user=${spring.datasource.username}

# 待升级数据库的登录用户密码
flyway.password=${spring.datasource.password}

# 针对非空数据库是否默认调用基线版本 
flyway.baseline-on-migrate=true

# 如果老的sql语句遗失,不会报错,默认:false
flyway.ignoreMissingMigrations=true

# checksum如果由于环境造成不同时,可以添加
flyway.validate-on-migrate=false

3. 项目实例

         以framesample为例,说明有些配置项:

  1. 将自己需要待升级的脚本,放入指定的路径, /src/main/resources/mysql/script目录下:

  2. 升级脚本的编码设置统一为:ANSI;

  3. 脚本文件名称统一使用:V+yyyyMMdd+版本号+“__”+版本功能描述+“.sql”,例如:V2019072501__添加索引.sql;(中间的下划线是两个一起的)。

  4. 注意:如果脚本出现问题无法执行,程序会报错,并会在数据库中增加一条执行失败的记录;

处理方法:将版本比对表success为0的数据删除,将正确脚本替换,重新执行皆可;