如何使用 .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
我已将 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