如何使用 .java 迁移格式

How to utilize .java migration format

我已将 Flyway 5.0.2 依赖项添加到我的 build.gradle 并将 baseline-on-migrate: true 设置到我的 application.yml

我有 /resources/db/migration 目录。基线条目在 flyway_schema_history 中创建。我也可以 运行 以 .sql 格式进行迁移。但是 Flyway 无法识别我在 .java 文件中的迁移。如果我将 .java 更改为 .sql 并将文件内容从 java 更改为 sql 那么一切正常。在文档中,它没有提到任何特殊配置或 .java 格式的任何内容。

如何让 Flyway 识别我的 .java 格式的迁移?

我尝试过的 java 迁移示例:

package db.migration;

import org.flywaydb.core.api.migration.spring.SpringJdbcMigration; 
import org.springframework.jdbc.core.JdbcTemplate;

public class V3__someMigration implements SpringJdbcMigration {

    @Override
    public void migrate(JdbcTemplate jdbcTemplate) throws Exception {

        System.out.println("migration v3");

    }

}

创建您的 java 文件在下面的包中创建 src/main/resources/db/migration

除非你在 flyway.properties 中更改了以下环境变量 FLYWAY_LOCATIONS=db.migration

.java 文件根本不应该放在资源文件夹下。它应该在 /src/main/java/db/migration 下,因为它在 flyway 文档的 java-based-migrations 部分中有解释:

https://flywaydb.org/documentation/migrations#java-based-migrations