@Configuration @ConditionalOnClass(value=org.flywaydb.core.Flyway.class) @ConditionalOnBean(value=javax.sql.DataSource.class) @ConditionalOnProperty(prefix="flyway", name="enabled", matchIfMissing=true) public class FlywayAutoConfigurationAfter extends Object
@Bean
@ConditionalOnClass(Flyway.class)
@ConditionalOnBean(DataSource.class)
public FlywayMigrationStrategy migrationStrategy(ApplicationContext applicationContext) {
return new FlywayMigrationStrategy() {
@Override
public void migrate(Flyway flyway) {
List migrationResolver = new ArrayList();
for (Location location : new Locations(flyway.getLocations()).getLocations()) {
migrationResolver.add(new SpringJdbcMigrationResolverCustom(flyway.getClassLoader(), location, applicationContext));
}
flyway.setResolvers(migrationResolver.toArray(new MigrationResolver[migrationResolver.size()]));
flyway.setLocations(ClassUtils.classPackageAsResourcePath(getClass()));
flyway.migrate();
}
};
}
| Constructor and Description |
|---|
FlywayAutoConfigurationAfter() |
| Modifier and Type | Method and Description |
|---|---|
org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy |
migrationStrategy(org.springframework.context.ApplicationContext applicationContext) |
@Bean @ConditionalOnMissingBean(value=org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy.class) public org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy migrationStrategy(org.springframework.context.ApplicationContext applicationContext)
Copyright © 2017 Pivotal Software, Inc.. All rights reserved.