Flyway:不支持的数据库:MySQL 8.0

San*_*tel 34 java mysql spring-mvc flyway spring-boot

我正在使用 java 11,并且我在 spring-boot 应用程序中添加了 Flyway,如下所示。

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.29'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.7.0'
    implementation group: 'org.flywaydb', name: 'flyway-core', version: '8.5.13'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
Run Code Online (Sandbox Code Playgroud)

并添加属性为

# flyway
spring.flyway.baseline-on-migrate=true
spring.flyway.enabled=false
#spring.flyway.enabled=true
spring.flyway.locations=classpath:db/migration
Run Code Online (Sandbox Code Playgroud)

但它产生了一个错误,org.flywaydb.core.api.FlywayException: Unsupported Database: MySQL 8.0

输出

Ous*_*OUD 68

您应该添加 Flyway-mysql 依赖项。

行长:

<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-mysql</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

格拉德尔:

dependencies {
    compile "org.flywaydb:flyway-mysql"
}
Run Code Online (Sandbox Code Playgroud)

更多信息请参见此处


小智 6

对我有用的唯一方法是将这些依赖项添加到 build.gradle 中:

implementation 'org.flywaydb:flyway-core:8.4.4'
implementation 'org.flywaydb:flyway-mysql:8.4.4'
Run Code Online (Sandbox Code Playgroud)

如图所示