Browse Source

Upgrade to Flyway 7.1.0

Closes gh-23932
pull/23958/head
Stephane Nicoll 5 years ago
parent
commit
a6c6aba40d
  1. 3
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java
  2. 13
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayProperties.java
  3. 4
      spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json
  4. 3
      spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/flyway/FlywayPropertiesTests.java
  5. 2
      spring-boot-project/spring-boot-dependencies/build.gradle

3
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java

@ -173,6 +173,9 @@ public class FlywayAutoConfiguration {
map.from(locations).to(configuration::locations); map.from(locations).to(configuration::locations);
map.from(properties.getEncoding()).to(configuration::encoding); map.from(properties.getEncoding()).to(configuration::encoding);
map.from(properties.getConnectRetries()).to(configuration::connectRetries); map.from(properties.getConnectRetries()).to(configuration::connectRetries);
// No method reference for compatibility with Flyway 6.x
map.from(properties.getLockRetryCount())
.to((lockRetryCount) -> configuration.lockRetryCount(lockRetryCount));
// No method reference for compatibility with Flyway 5.x // No method reference for compatibility with Flyway 5.x
map.from(properties.getDefaultSchema()).to((schema) -> configuration.defaultSchema(schema)); map.from(properties.getDefaultSchema()).to((schema) -> configuration.defaultSchema(schema));
map.from(properties.getSchemas()).as(StringUtils::toStringArray).to(configuration::schemas); map.from(properties.getSchemas()).as(StringUtils::toStringArray).to(configuration::schemas);

13
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayProperties.java

@ -64,6 +64,11 @@ public class FlywayProperties {
*/ */
private int connectRetries; private int connectRetries;
/**
* Maximum number of retries when trying to obtain a lock.
*/
private Integer lockRetryCount;
/** /**
* Default schema name managed by Flyway (case-sensitive). * Default schema name managed by Flyway (case-sensitive).
*/ */
@ -363,6 +368,14 @@ public class FlywayProperties {
this.connectRetries = connectRetries; this.connectRetries = connectRetries;
} }
public Integer getLockRetryCount() {
return this.lockRetryCount;
}
public void setLockRetryCount(Integer lockRetryCount) {
this.lockRetryCount = lockRetryCount;
}
public String getDefaultSchema() { public String getDefaultSchema() {
return this.defaultSchema; return this.defaultSchema;
} }

4
spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json

@ -856,6 +856,10 @@
"classpath:db/migration" "classpath:db/migration"
] ]
}, },
{
"name": "spring.flyway.lock-retry-count",
"defaultValue": 50
},
{ {
"name": "spring.flyway.sql-migration-suffix", "name": "spring.flyway.sql-migration-suffix",
"type": "java.lang.String", "type": "java.lang.String",

3
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/flyway/FlywayPropertiesTests.java

@ -51,6 +51,9 @@ class FlywayPropertiesTests {
.isEqualTo(configuration.getLocations()); .isEqualTo(configuration.getLocations());
assertThat(properties.getEncoding()).isEqualTo(configuration.getEncoding()); assertThat(properties.getEncoding()).isEqualTo(configuration.getEncoding());
assertThat(properties.getConnectRetries()).isEqualTo(configuration.getConnectRetries()); assertThat(properties.getConnectRetries()).isEqualTo(configuration.getConnectRetries());
// Can't assert lock retry count default as it is new in Flyway 7.1
// Asserting hard-coded value in the metadata instead
assertThat(configuration.getLockRetryCount()).isEqualTo(50);
assertThat(properties.getDefaultSchema()).isEqualTo(configuration.getDefaultSchema()); assertThat(properties.getDefaultSchema()).isEqualTo(configuration.getDefaultSchema());
assertThat(properties.getSchemas()).isEqualTo(Arrays.asList(configuration.getSchemas())); assertThat(properties.getSchemas()).isEqualTo(Arrays.asList(configuration.getSchemas()));
assertThat(properties.isCreateSchemas()).isEqualTo(configuration.getCreateSchemas()); assertThat(properties.isCreateSchemas()).isEqualTo(configuration.getCreateSchemas());

2
spring-boot-project/spring-boot-dependencies/build.gradle

@ -304,7 +304,7 @@ bom {
] ]
} }
} }
library("Flyway", "7.0.4") { library("Flyway", "7.1.0") {
group("org.flywaydb") { group("org.flywaydb") {
modules = [ modules = [
"flyway-core" "flyway-core"

Loading…
Cancel
Save