From 903e3ab25ae801ebac0478a6c63f15ae1f77a342 Mon Sep 17 00:00:00 2001 From: Miguel Gomes Date: Sun, 1 Jul 2018 01:17:47 +0100 Subject: [PATCH 1/2] Add support for new SpringLiquibase properties from 3.6.2 Issue: https://github.com/spring-projects/spring-boot/issues/13550 --- .../liquibase/LiquibaseAutoConfiguration.java | 6 +++ .../liquibase/LiquibaseProperties.java | 52 +++++++++++++++++++ .../spring-boot-dependencies/pom.xml | 2 +- .../appendix-application-properties.adoc | 4 ++ 4 files changed, 63 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java index f847e7cb0fb6..32a8915e3005 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java @@ -126,6 +126,12 @@ public SpringLiquibase liquibase() { liquibase.setChangeLog(this.properties.getChangeLog()); liquibase.setContexts(this.properties.getContexts()); liquibase.setDefaultSchema(this.properties.getDefaultSchema()); + liquibase.setLiquibaseSchema(this.properties.getLiquibaseSchema()); + liquibase.setLiquibaseTablespace(this.properties.getLiquibaseTablespace()); + liquibase.setDatabaseChangeLogTable( + this.properties.getDatabaseChangeLogTable()); + liquibase.setDatabaseChangeLogLockTable( + this.properties.getDatabaseChangeLogLockTable()); liquibase.setDropFirst(this.properties.isDropFirst()); liquibase.setShouldRun(this.properties.isEnabled()); liquibase.setLabels(this.properties.getLabels()); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java index 62f906c16518..b99e03325105 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java @@ -53,6 +53,26 @@ public class LiquibaseProperties { */ private String defaultSchema; + /** + * Liquibase database schema. + */ + private String liquibaseSchema; + + /** + * Liquibase tablespace. + */ + private String liquibaseTablespace; + + /** + * Database changelog table. + */ + private String databaseChangeLogTable; + + /** + * Database changelog lock table. + */ + private String databaseChangeLogLockTable; + /** * Whether to first drop the database schema. */ @@ -132,6 +152,38 @@ public void setDefaultSchema(String defaultSchema) { this.defaultSchema = defaultSchema; } + public String getLiquibaseSchema() { + return this.liquibaseSchema; + } + + public void setLiquibaseSchema(String liquibaseSchema) { + this.liquibaseSchema = liquibaseSchema; + } + + public String getLiquibaseTablespace() { + return this.liquibaseTablespace; + } + + public void setLiquibaseTablespace(String liquibaseTablespace) { + this.liquibaseTablespace = liquibaseTablespace; + } + + public String getDatabaseChangeLogTable() { + return this.databaseChangeLogTable; + } + + public void setDatabaseChangeLogTable(String databaseChangeLogTable) { + this.databaseChangeLogTable = databaseChangeLogTable; + } + + public String getDatabaseChangeLogLockTable() { + return this.databaseChangeLogLockTable; + } + + public void setDatabaseChangeLogLockTable(String databaseChangeLogLockTable) { + this.databaseChangeLogLockTable = databaseChangeLogLockTable; + } + public boolean isDropFirst() { return this.dropFirst; } diff --git a/spring-boot-project/spring-boot-dependencies/pom.xml b/spring-boot-project/spring-boot-dependencies/pom.xml index 402c87a802d5..f227e4658ea7 100644 --- a/spring-boot-project/spring-boot-dependencies/pom.xml +++ b/spring-boot-project/spring-boot-dependencies/pom.xml @@ -118,7 +118,7 @@ 1.1.0 1.2.51 5.1.0.M1 - 3.6.1 + 3.6.2 2.11.0 1.2.3 1.18.0 diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc index 432ac27ab7d3..4952b50bc5bb 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -566,6 +566,10 @@ content into your application. Rather, pick only the properties that you need. spring.liquibase.check-change-log-location=true # Whether to check that the change log location exists. spring.liquibase.contexts= # Comma-separated list of runtime contexts to use. spring.liquibase.default-schema= # Default database schema. + spring.liquibase.liquibase-schema= # Liquibase database schema. + spring.liquibase.liquibase-tablespace= # Liquibase tablespace. + spring.liquibase.database-change-log-table= # Database changelog table. + spring.liquibase.database-change-log-lock-table= # Database changelog lock table. spring.liquibase.drop-first=false # Whether to first drop the database schema. spring.liquibase.enabled=true # Whether to enable Liquibase support. spring.liquibase.labels= # Comma-separated list of runtime labels to use. From f7804391f33576d302e7af62e7d0ffffb3a1a8f5 Mon Sep 17 00:00:00 2001 From: Miguel Gomes Date: Fri, 13 Jul 2018 08:44:21 +0100 Subject: [PATCH 2/2] Improve Liquibase Documenatation and fix identation --- .../boot/autoconfigure/liquibase/LiquibaseProperties.java | 8 ++++---- .../main/asciidoc/appendix-application-properties.adoc | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java index b99e03325105..ef3f2d195b5c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java @@ -54,22 +54,22 @@ public class LiquibaseProperties { private String defaultSchema; /** - * Liquibase database schema. + * Schema to use for Liquibase objects. */ private String liquibaseSchema; /** - * Liquibase tablespace. + * Tablespace to use for Liquibase objects. */ private String liquibaseTablespace; /** - * Database changelog table. + * Name of table to use for tracking change history. */ private String databaseChangeLogTable; /** - * Database changelog lock table. + * Name of table to use for tracking concurrent Liquibase usage. */ private String databaseChangeLogLockTable; diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc index 4952b50bc5bb..fe2a1b305bdd 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -566,10 +566,10 @@ content into your application. Rather, pick only the properties that you need. spring.liquibase.check-change-log-location=true # Whether to check that the change log location exists. spring.liquibase.contexts= # Comma-separated list of runtime contexts to use. spring.liquibase.default-schema= # Default database schema. - spring.liquibase.liquibase-schema= # Liquibase database schema. - spring.liquibase.liquibase-tablespace= # Liquibase tablespace. - spring.liquibase.database-change-log-table= # Database changelog table. - spring.liquibase.database-change-log-lock-table= # Database changelog lock table. + spring.liquibase.liquibase-schema= # Schema to use for Liquibase objects. + spring.liquibase.liquibase-tablespace= # Tablespace to use for Liquibase objects. + spring.liquibase.database-change-log-table= # Name of table to use for tracking change history. + spring.liquibase.database-change-log-lock-table= # Name of table to use for tracking concurrent Liquibase usage. spring.liquibase.drop-first=false # Whether to first drop the database schema. spring.liquibase.enabled=true # Whether to enable Liquibase support. spring.liquibase.labels= # Comma-separated list of runtime labels to use.