我的“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 文件内。
是否有一种优雅的方法来存储方法的返回值,apply()因此不必多次调用它?因为我能想到的唯一方法是创建一个本地映射变量来存储函数 - "返回值"对.
@Autowired
private List<Function<String, String>> evaluators;
//...
private String evaluate(String code) {
return evaluators.stream().filter(f -> f.apply(code) != null).findFirst().get().apply(code);
}
Run Code Online (Sandbox Code Playgroud)