通过 Flyway 只执行一个 SQL 文件

Jul*_*o D 5 java flyway

我的“resources/sql/create”文件夹中有多个 SQL 文件。我只想通过 Flyway 运行一个 SQL 文件。但以下方法不起作用:

final Flyway flyway = new Flyway();
flyway.setDataSource(jdbcUrl, "", "");
flyway.setLocations("classpath:sql/create/create_table_person.sql");
flyway.clean();
flyway.migrate();
Run Code Online (Sandbox Code Playgroud)

如何只执行一个 SQL 文件?我无法删除其他文件,因为它们位于 test-jar 文件内。

小智 0

您可以使用 target 参数显式请求迁移到某个版本。例如,使用 CLI:

flyway migrate -target=1.2.3
Run Code Online (Sandbox Code Playgroud)

使用 Java lib 应该是:

flyway.setTargetAsString("1.2.3");
Run Code Online (Sandbox Code Playgroud)