Spring Boot升级遇Flyway提示Unsupported Database问题求助
Flyway "Unsupported Database" 问题通用解决方法
核心原因
Flyway从7.x版本开始,将各数据库的适配逻辑从核心包flyway-core中拆分,改为独立的flyway-database-xxx专属依赖包。如果项目中缺少对应数据库的专属依赖,即使数据库版本本身兼容,也会触发Unsupported Database错误。
通用解决步骤
确定对应数据库的专属依赖名称
常见数据库对应的依赖ArtifactId:- Microsoft SQL Server:
flyway-database-sqlserver - HSQLDB:
flyway-database-hsqldb - Oracle:
flyway-database-oracle - MySQL:
flyway-database-mysql - PostgreSQL:
flyway-database-postgresql
- Microsoft SQL Server:
添加依赖到项目构建文件
以Maven和Gradle为例(版本建议与项目中flyway-core保持一致,Spring Boot项目可由依赖管理自动对齐):
Maven:<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-database-sqlserver</artifactId> <version>${flyway.version}</version> </dependency>Gradle:
implementation "org.flywaydb:flyway-database-sqlserver:${flywayVersion}"验证版本兼容性
确保专属依赖版本与flyway-core版本完全匹配,避免版本冲突。同时确认当前Flyway版本支持你的数据库版本(Flyway官方维护的支持矩阵会明确兼容范围)。
Spring Boot升级场景补充
当Spring Boot版本升级后触发该问题,本质是Spring Boot升级同步提升了Flyway版本,而新版本Flyway已拆分数据库依赖。只需补充对应数据库的flyway-database-xxx依赖即可,Spring Boot的依赖管理会自动处理版本对齐,无需手动指定版本。
内容的提问来源于stack exchange,提问作者Camille
相关产品推荐
相关产品推荐

