@PostConstruct @DependsOn("dataSourceHelper") public void migrate() { Flyway flyway = Flyway.configure() .dataSource(dataSource) .locations("classpath:db/migration", "filesystem:db/migration") .baselineOnMigrate(true) .load(); flyway.migrate(); }
@Override public void setFlywayConfiguration(FlywayConfiguration flywayConfiguration) { if (callback instanceof ConfigurationAware) { ((ConfigurationAware) callback).setFlywayConfiguration(flywayConfiguration); } }
private void populateData() { final Flyway flyway = Flyway .configure() .dataSource(URL, USER, PASSWORD) .load(); flyway.migrate(); }
flyway = flyway.dataSource(dataSource) .baselineDescription(baselineDescription) .baselineOnMigrate(baselineOnMigrate) .baselineVersion(baseLineVersion) .callbacks(callbacks.toArray(emptyStringArray)) .cleanDisabled(cleanDisabled) .encoding(encoding) .group(group) .ignoreFutureMigrations(ignoreFutureMigrations) .ignoreIgnoredMigrations(ignoreIgnoredMigrations) .ignoreMissingMigrations(ignoreMissingMigrations) .installedBy(installedBy) .locations(locations.toArray(emptyStringArray)) .mixed(mixed) .outOfOrder(outOfOrder) .placeholderPrefix(placeholderPrefix) .placeholderReplacement(placeholderReplacement) .placeholderSuffix(placeholderSuffix) .placeholders(placeholders) .resolvers(resolvers.toArray(emptyStringArray)) .schemas(schemas.toArray(emptyStringArray)) .skipDefaultCallbacks(skipDefaultCallbacks) .skipDefaultResolvers(skipDefaultResolvers) .sqlMigrationPrefix(sqlMigrationPrefix) .sqlMigrationSeparator(sqlMigrationSeparator) .sqlMigrationSuffixes(sqlMigrationSuffixes.toArray(emptyStringArray)) .table(metaDataTableName) .validateOnMigrate(validateOnMigrate);
ClassicConfiguration classicConfiguration = new ClassicConfiguration(); classicConfiguration.configure(getFlywayProperties()); setFlywayConfiguration(classicConfiguration); ClassicConfiguration classicConfiguration = getFlywayConfiguration(); classicConfiguration.configure(getFlywayProperties()); setFlywayConfiguration(classicConfiguration); .configuration(getFlywayConfiguration()) .load();
final Boolean baselineOnMigrate = namespace.getBoolean(INIT_ON_MIGRATE); FluentConfiguration config = Flyway.configure(flyway.getConfiguration().getClassLoader()).configuration(flyway.getConfiguration()); config.outOfOrder(outOfOrder); config.validateOnMigrate(validateOnMigrate); config.cleanOnValidationError(cleanOnValidationError); config.baselineOnMigrate(baselineOnMigrate); Flyway customFlyway = config.load();
@Override protected void run(final Namespace namespace, final Flyway flyway) throws Exception { final Boolean namespaceBoolean = namespace.getBoolean(OUT_OF_ORDER); final Boolean cleanOnValidationError = namespace.getBoolean(CLEAN_ON_VALIDATION_ERROR); FluentConfiguration config = Flyway.configure(flyway.getConfiguration().getClassLoader()).configuration(flyway.getConfiguration()); if (namespaceBoolean != null) { config.outOfOrder(namespaceBoolean); } if (cleanOnValidationError != null) { config.cleanOnValidationError(cleanOnValidationError); } Flyway customFlyway = config.load(); customFlyway.validate(); } }
@SuppressWarnings("unused") @TaskAction public Object runTask() { try { Map<String, String> envVars = ConfigUtils.environmentVariablesToPropertyMap(); Set<URL> extraURLs = new HashSet<>(); if (isJavaProject()) { addClassesAndResourcesDirs(extraURLs); addConfigurationArtifacts(determineConfigurations(envVars), extraURLs); } ClassLoader classLoader = new URLClassLoader( extraURLs.toArray(new URL[0]), getProject().getBuildscript().getClassLoader()); Flyway flyway = Flyway.configure(classLoader).configuration(createFlywayConfig(envVars)).load(); Object result = run(flyway); ((DriverDataSource) flyway.getConfiguration().getDataSource()).shutdownDatabase(); return result; } catch (Exception e) { throw new FlywayException(collectMessages(e, "Error occurred while executing " + getName()), e); } }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
/** * Returns a Sqlg configuration (Apache Commons) based on the supplied Flyway configuration. */ protected org.apache.commons.configuration.Configuration sqlgConfiguration(Configuration configuration) { Map<String, Object> result = new LinkedHashMap<>(); // The most important part is getting the JDBC URL since that is required by Sqlg result.put(SqlgGraph.JDBC_URL, JdbcUrlDataSource.unwrap(configuration.getDataSource()).getJdbcUrl()); // Abuse the Flyway place holders as extra configuration parameters for Sqlg result.putAll(configuration.getPlaceholders()); return new MapConfiguration(result); }
/** * Return a Sqlg dialect based on the supplied Flyway configuration. */ protected SqlDialect sqlDialect(Configuration configuration) { // Mimic what Sqlg does to load a dialect String connectionUri = JdbcUrlDataSource.unwrap(configuration.getDataSource()).getJdbcUrl(); for (SqlgPlugin p : ServiceLoader.load(SqlgPlugin.class, SqlgGraph.class.getClassLoader())) { if (p.getDriverFor(connectionUri) != null) { return p.instantiateDialect(); } } throw new IllegalStateException("Unable to determine Sqlg dialect to use for JDBC URL: " + connectionUri); }
ClassicConfiguration classicConfiguration = new ClassicConfiguration(); classicConfiguration.configure(getFlywayProperties()); setFlywayConfiguration(classicConfiguration); ClassicConfiguration classicConfiguration = getFlywayConfiguration(); classicConfiguration.configure(getFlywayProperties()); setFlywayConfiguration(classicConfiguration); .configuration(getFlywayConfiguration()) .load();
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private String[] convertLocationToString(Flyway flyWay) { Location[] locations = flyWay.getConfiguration().getLocations(); String [] stringLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { stringLocations[i] = locations[i].getDescriptor(); } return stringLocations; }
private boolean isMigrationAvailable() { return Arrays.stream(flyway.getConfiguration().getLocations()) .anyMatch(l-> { if (l.isClassPath()) { return Thread.currentThread().getContextClassLoader().getResource(l.getPath()) != null; } else if (l.isFileSystem()){ return Files.exists(Paths.get(l.getPath())); } else throw new UnreachableException(); }); }