You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flyway 10.16.0无法识别MySQL数据库问题排查求助

解决方案

这个错误是因为Flyway无法获取MySQL的适配驱动模块,你需要调整依赖配置,确保Flyway在执行迁移时能访问到所需的依赖:

1. 修正依赖配置

在你的build.gradle.kts的dependencies块中,将flyway-mysql的依赖范围改为runtimeOnly,同时添加MySQL JDBC驱动依赖:

dependencies {
    runtimeOnly("org.flywaydb:flyway-mysql")
    runtimeOnly("com.mysql:mysql-connector-j")
}

为什么这样改?

  • implementation范围的依赖仅会被编译类路径包含,而Flyway Gradle插件执行任务时需要依赖在运行时类路径中,runtimeOnly能确保这些依赖被加载到任务的执行环境里。
  • mysql-connector-j是MySQL官方的JDBC驱动,Flyway需要它来建立数据库连接。由于你使用了Spring Boot的依赖管理,不需要手动指定版本,Spring Boot会自动适配兼容的版本。

2. 可选:完善JDBC URL格式

虽然你的URL基本正确,但可以显式指定数据库名(和你配置的defaultSchema一致),避免潜在的路径问题:

flyway {
    url = "jdbc:mysql://localhost:3310/walletyo"
    // 其余配置保持不变
}

3. 验证并重新执行

保存配置后,再次运行迁移命令:

./gradlew flywayMigrate --stacktrace

这样Flyway就能正确识别MySQL数据库并执行迁移了。

内容的提问来源于stack exchange,提问作者Jerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:00:54