如何利用.java迁移格式

时间:2017-12-20 09:02:52

标签: flyway

我已将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");

    }

}

2 个答案:

答案 0 :(得分:2)

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

enter image description here

答案 1 :(得分:-1)

创建您的java文件是在下面的包中创建的 的src /主/资源/分贝/迁移

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