mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-25 19:09:03 +00:00
Allow Flyway's Ignore Migration Patterns setting to be an empty string
See gh-46984 Signed-off-by: Chanwon-Seo <scwonn60@gmail.com>
This commit is contained in:
committed by
Moritz Halbritter
parent
86bb1b4e57
commit
972ceca8cd
-1
@@ -320,7 +320,6 @@ public class FlywayAutoConfiguration {
|
||||
map.from(properties.getSkipExecutingMigrations())
|
||||
.to((skipExecutingMigrations) -> configuration.skipExecutingMigrations(skipExecutingMigrations));
|
||||
map.from(properties.getIgnoreMigrationPatterns())
|
||||
.whenNot(List::isEmpty)
|
||||
.to((ignoreMigrationPatterns) -> configuration
|
||||
.ignoreMigrationPatterns(ignoreMigrationPatterns.toArray(new String[0])));
|
||||
map.from(properties.getDetectEncoding())
|
||||
|
||||
+1
-1
@@ -321,7 +321,7 @@ public class FlywayProperties {
|
||||
/**
|
||||
* List of patterns that identify migrations to ignore when performing validation.
|
||||
*/
|
||||
private List<String> ignoreMigrationPatterns;
|
||||
private List<String> ignoreMigrationPatterns = Collections.singletonList("*:future");
|
||||
|
||||
/**
|
||||
* Whether to attempt to automatically detect SQL migration file encoding.
|
||||
|
||||
+15
@@ -986,6 +986,21 @@ class FlywayAutoConfigurationTests {
|
||||
.containsExactly(ValidatePattern.fromPattern("*:missing")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void ignoreMigrationPatternsUsesDefaultValuesWhenNotSet() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.run((context) -> assertThat(context.getBean(Flyway.class).getConfiguration().getIgnoreMigrationPatterns())
|
||||
.containsExactly(new FluentConfiguration().getIgnoreMigrationPatterns()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void ignoreMigrationPatternsWhenEmpty() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.ignore-migration-patterns=")
|
||||
.run((context) -> assertThat(context.getBean(Flyway.class).getConfiguration().getIgnoreMigrationPatterns())
|
||||
.isEmpty());
|
||||
}
|
||||
|
||||
private ContextConsumer<AssertableApplicationContext> validateFlywayTeamsPropertyOnly(String propertyName) {
|
||||
return (context) -> {
|
||||
assertThat(context).hasFailed();
|
||||
|
||||
+3
@@ -30,6 +30,7 @@ import org.flywaydb.core.api.MigrationVersion;
|
||||
import org.flywaydb.core.api.configuration.ClassicConfiguration;
|
||||
import org.flywaydb.core.api.configuration.Configuration;
|
||||
import org.flywaydb.core.api.configuration.FluentConfiguration;
|
||||
import org.flywaydb.core.api.pattern.ValidatePattern;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.BeanWrapper;
|
||||
@@ -95,6 +96,8 @@ class FlywayPropertiesTests {
|
||||
assertThat(properties.getScriptPlaceholderSuffix()).isEqualTo(configuration.getScriptPlaceholderSuffix());
|
||||
assertThat(properties.isExecuteInTransaction()).isEqualTo(configuration.isExecuteInTransaction());
|
||||
assertThat(properties.getCommunityDbSupportEnabled()).isNull();
|
||||
assertThat(properties.getIgnoreMigrationPatterns().stream().map(ValidatePattern::fromPattern))
|
||||
.containsExactly(configuration.getIgnoreMigrationPatterns());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user