我想知道是否有一种方法可以使用Flyway的Callback
方法排除运行时的某些迁移。
我已经在其中进行了一些工作,但是我想排除一些在其描述中包含dev的迁移。
谢谢!
编辑:将我的简单更改添加到迁移解析器
@Override
public Collection<ResolvedMigration> resolveMigrations() {
assert flyway != null;
assert flyway.getLocations() != null;
assert flyway.getLocations().length > 0;
List<ResolvedMigration> migrations = Lists.newArrayList();
for (String stringLocation : flyway.getLocations()) {
Location location = new Location(stringLocation);
Scanner scanner = new Scanner(ClassLoader.getSystemClassLoader());
Resource[] resources = scanner.scanForResources(location,
flyway.getSqlMigrationPrefix(),
flyway.getSqlMigrationSuffix());
for (Resource resource : resources) {
if (!resource.getFilename().contains("_dev")) {
ResolvedMigrationImpl resolvedMigration = extractMigrationInfo(location, resource);
resolvedMigration.setPhysicalLocation(resource.getLocationOnDisk());
resolvedMigration.setExecutor(new SqlMigrationExecutor(new PostgreSQLDbSupport(flywayConnection),
resource,
new PlaceholderReplacer(flyway.getPlaceholders(),
flyway.getPlaceholderPrefix(),
flyway.getPlaceholderSuffix()),
flyway.getEncoding()));
migrations.add(resolvedMigration);
}
}
Collections.sort(migrations, new ResolvedMigrationComparator());
}
return migrations;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句