in core/src/db-schema-manager/resources/flyway-lambda/src/main/java/com/geekoosh/flyway/FlywayService.java [101:213]
public Flyway configure() throws IOException {
FluentConfiguration config = Flyway.configure().dataSource(
dbRequest.getConnectionString(),
dbRequest.getUsername(),
dbRequest.getPassword()
);
if(folders != null) {
config.locations(folders.stream().map(f -> "filesystem:" + f)
.collect(Collectors.toList()).toArray(new String[0]));
}
if(flywayRequest.getConfigFile() != null) {
Properties props = loadConfig(flywayRequest.getConfigFile());
config = config.configuration(props);
}
config = config.envVars();
if(flywayRequest.getInitSql() != null) {
config.initSql(flywayRequest.getInitSql());
}
if(flywayRequest.getTable() != null) {
config.table(flywayRequest.getTable());
}
if(flywayRequest.getTablespace() != null) {
config.tablespace(flywayRequest.getTablespace());
}
if(flywayRequest.getSqlMigrationPrefix() != null) {
config.sqlMigrationPrefix(flywayRequest.getSqlMigrationPrefix());
}
if(flywayRequest.getRepeatableSqlMigrationPrefix() != null) {
config.repeatableSqlMigrationPrefix(flywayRequest.getRepeatableSqlMigrationPrefix());
}
if(flywayRequest.getSqlMigrationSeparator() != null) {
config.sqlMigrationSeparator(flywayRequest.getSqlMigrationSeparator());
}
if(flywayRequest.getEncoding() != null) {
config.encoding(flywayRequest.getEncoding());
}
if(flywayRequest.getTarget() != null) {
config.target(flywayRequest.getTarget());
}
if(flywayRequest.getPlaceholderPrefix() != null) {
config.placeholderPrefix(flywayRequest.getPlaceholderPrefix());
}
if(flywayRequest.getPlaceholderSuffix() != null) {
config.placeholderSuffix(flywayRequest.getPlaceholderSuffix());
}
if(flywayRequest.getBaselineVersion() != null) {
config.baselineVersion(flywayRequest.getBaselineVersion());
}
if(flywayRequest.getBaselineDescription() != null) {
config.baselineDescription(flywayRequest.getBaselineDescription());
}
if(flywayRequest.getInstalledBy() != null) {
config.installedBy(flywayRequest.getInstalledBy());
}
if(flywayRequest.getConnectRetries() != null) {
config.connectRetries(flywayRequest.getConnectRetries());
}
if(flywayRequest.getSchemas() != null) {
config.schemas(flywayRequest.getSchemas().toArray(new String[0]));
}
if(flywayRequest.getSqlMigrationSuffixes() != null) {
config.sqlMigrationSuffixes(flywayRequest.getSqlMigrationSuffixes().toArray(new String[0]));
}
if(flywayRequest.getPlaceholderReplacement() != null) {
config.placeholderReplacement(flywayRequest.getPlaceholderReplacement());
}
if(flywayRequest.getSkipDefaultCallResolvers() != null) {
config.skipDefaultResolvers(flywayRequest.getSkipDefaultCallResolvers());
}
if(flywayRequest.getSkipDefaultCallbacks() != null) {
config.skipDefaultCallbacks(flywayRequest.getSkipDefaultCallbacks());
}
if(flywayRequest.getOutOfOrder() != null) {
config.outOfOrder(flywayRequest.getOutOfOrder());
}
if(flywayRequest.getValidateOnMigrate() != null) {
config.validateOnMigrate(flywayRequest.getValidateOnMigrate());
}
if(flywayRequest.getCleanOnValidationError() != null) {
config.cleanOnValidationError(flywayRequest.getCleanOnValidationError());
}
if(flywayRequest.getMixed() != null) {
config.mixed(flywayRequest.getMixed());
}
if(flywayRequest.getGroup() != null) {
config.group(flywayRequest.getGroup());
}
if(flywayRequest.getIgnoreMissingMigrations() != null) {
config.ignoreMissingMigrations(flywayRequest.getIgnoreMissingMigrations());
}
if(flywayRequest.getIgnoreIgnoredMigrations() != null) {
config.ignoreIgnoredMigrations(flywayRequest.getIgnoreIgnoredMigrations());
}
if(flywayRequest.getIgnoreFutureMigrations() != null) {
config.ignoreFutureMigrations(flywayRequest.getIgnoreFutureMigrations());
}
if(flywayRequest.getCleanDisabled() != null) {
config.cleanDisabled(flywayRequest.getCleanDisabled());
}
if(flywayRequest.getBaselineOnMigrate() != null) {
config.baselineOnMigrate(flywayRequest.getBaselineOnMigrate());
}
if(flywayRequest.getPlaceholders() != null) {
config.placeholders(flywayRequest.getPlaceholders());
}
Flyway flyway = config.load();
dumpConfiguration(flyway);
return flyway;
}