Flyway管理数据库MySQL5.7入坑记录(二)
在成功加入Flyway的Gradle的插件后,在Gradle的任务中选择flyway->flywayMigrate,进行数据库迁移操作,于是出现下面的问题。
第二坑:执行flyMigrate出现错误信息:flyway No database found to handle
出错信息是说没有相应的数据库处理,也就是说没有关于MySQL数据库的处理程序,将出错信息百度了一下发现很少出现这类错误,难道是我和别人做的不一样。于是尝试的工作只能停下来,看来只能去看Flyway的官方文档了。没有记录下在哪个地方发现Flyway中需要在Gradle中的buildscript块中配置MySQL的专门的处理包。于是修改build.gradle的buildscript部分内容如下所示。
buildscript { ext { springBootVersion = '2.5.13' FAST_MIRROR_REPO_URL = 'https://maven.aliyun.com/nexus/content/groups/public/' FLYWAY_VERSION = '9.2.0' } repositories { maven { url FAST_MIRROR_REPO_URL } mavenCentral() } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}" classpath 'mysql:mysql-connector-java:8.0.29' classpath "org.flywaydb:flyway-mysql:9.2.0" } } plugins { id "org.flywaydb.flyway" version "${FLYWAY_VERSION}" } flyway { url = 'jdbc:mysql://localhost:3306/jeesite4?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai' user = 'root' password = 'root' locations = ['filesystem:db/migration'] }
在buildscript的部分添加依赖
classpath "org.flywaydb:flyway-mysql:9.2.0"
至此Flyway终于可以工作了,可是随后的结果让人大跌眼镜。