branch feature/666_flyway_6 updated (3e1bde14 -> 57c1a160)
This is an automated email from the git hooks/post-receive script. New change to branch feature/666_flyway_6 in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git from 3e1bde14 Use flyway 6 new ed06cfbd Reuse a configuration constant provided by flyway new 57c1a160 Allow flyway configuration via topia configuration The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 57c1a1601b240f79790476343c24321f32379e49 Author: Brendan Le Ny <bleny@codelutin.com> Date: Thu Aug 29 17:13:14 2019 +0200 Allow flyway configuration via topia configuration commit ed06cfbd896d256a27d9cd4e0aca5b44fa9f2a4a Author: Brendan Le Ny <bleny@codelutin.com> Date: Thu Aug 29 17:05:48 2019 +0200 Reuse a configuration constant provided by flyway Summary of changes: .../nuiton/topia/flyway/TopiaFlywayService.java | 3 ++- .../topia/flyway/TopiaFlywayServiceImpl.java | 23 ++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/666_flyway_6 in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git commit ed06cfbd896d256a27d9cd4e0aca5b44fa9f2a4a Author: Brendan Le Ny <bleny@codelutin.com> Date: Thu Aug 29 17:05:48 2019 +0200 Reuse a configuration constant provided by flyway --- .../src/main/java/org/nuiton/topia/flyway/TopiaFlywayService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayService.java b/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayService.java index a6879442..83123092 100644 --- a/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayService.java +++ b/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayService.java @@ -24,6 +24,7 @@ package org.nuiton.topia.flyway; * #L% */ +import org.flywaydb.core.internal.configuration.ConfigUtils; import org.nuiton.topia.persistence.TopiaMigrationService; /** @@ -44,7 +45,7 @@ public interface TopiaFlywayService extends TopiaMigrationService { * this configuration and give, as value the version of the already * existing schema. */ - String FLYWAY_BASELINE_VERSION = "flyway.baselineVersion"; + String FLYWAY_BASELINE_VERSION = ConfigUtils.BASELINE_VERSION; /** * Tells ToPIA to set (or not) the Flyway's target version from the model version. Expected values are "true" or -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/666_flyway_6 in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git commit 57c1a1601b240f79790476343c24321f32379e49 Author: Brendan Le Ny <bleny@codelutin.com> Date: Thu Aug 29 17:13:14 2019 +0200 Allow flyway configuration via topia configuration --- .../topia/flyway/TopiaFlywayServiceImpl.java | 23 ++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayServiceImpl.java b/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayServiceImpl.java index 3580cae1..25f5c348 100644 --- a/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayServiceImpl.java +++ b/topia-service-flyway/src/main/java/org/nuiton/topia/flyway/TopiaFlywayServiceImpl.java @@ -28,6 +28,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; import com.google.common.collect.Sets; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -40,6 +41,7 @@ import org.flywaydb.core.api.MigrationInfo; import org.flywaydb.core.api.MigrationVersion; import org.flywaydb.core.api.configuration.ClassicConfiguration; import org.flywaydb.core.api.configuration.Configuration; +import org.flywaydb.core.internal.configuration.ConfigUtils; import org.nuiton.topia.persistence.TopiaApplicationContext; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.TopiaMigrationServiceException; @@ -58,6 +60,20 @@ import java.util.TreeSet; /** * Implementation for {@link org.nuiton.topia.flyway.TopiaFlywayService}. * + * Since 3.7, this implementation allows you to configure flyway using + * this service configuration. You can use all configuration constants + * as shown in {@link ConfigUtils}. + * + * Example properties: + * + * <pre> + * # let's declare a service named "migration" + * topia.service.migration=org.nuiton.topia.flyway.TopiaFlywayServiceImpl + * + * # let's configure that service using {@link ConfigUtils#TABLE} + * topia.service.migration.flyway.table=schema_version + * </pre> + * * @since 3.0 */ public class TopiaFlywayServiceImpl implements TopiaFlywayService { @@ -107,7 +123,9 @@ public class TopiaFlywayServiceImpl implements TopiaFlywayService { useModelVersion = Boolean.valueOf(useModelVersionString); } - flywayConfiguration = newFlywayConfiguration(topiaApplicationContext); + Map<String, String> flywayParametersFromTopiaConfiguration = Maps.filterKeys(serviceConfiguration, key -> key.startsWith("flyway.")); + + flywayConfiguration = newFlywayConfiguration(topiaApplicationContext, flywayParametersFromTopiaConfiguration); if (log.isInfoEnabled()) { log.info("flyway configuration " + toString(flywayConfiguration)); @@ -115,10 +133,11 @@ public class TopiaFlywayServiceImpl implements TopiaFlywayService { } - protected ClassicConfiguration newFlywayConfiguration(TopiaApplicationContext topiaApplicationContext) { + protected ClassicConfiguration newFlywayConfiguration(TopiaApplicationContext topiaApplicationContext, Map<String, String> flywayParametersFromTopiaConfiguration) { ClassicConfiguration newFlywayConfiguration = new ClassicConfiguration(); setDataSource(newFlywayConfiguration, topiaApplicationContext); setLocations(newFlywayConfiguration, topiaApplicationContext); + newFlywayConfiguration.configure(flywayParametersFromTopiaConfiguration); doExtraConfiguration(newFlywayConfiguration, topiaApplicationContext); return newFlywayConfiguration; } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm