org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties Maven / Gradle / Ivy
/*
* Copyright 2012-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.autoconfigure.liquibase;
import java.io.File;
import java.util.Map;
import liquibase.integration.spring.SpringLiquibase;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.util.Assert;
/**
* Configuration properties to configure {@link SpringLiquibase}.
*
* @author Marcel Overdijk
* @since 1.1.0
*/
@ConfigurationProperties(prefix = "spring.liquibase", ignoreUnknownFields = false)
public class LiquibaseProperties {
/**
* Change log configuration path.
*/
private String changeLog = "classpath:/db/changelog/db.changelog-master.yaml";
/**
* Whether to check that the change log location exists.
*/
private boolean checkChangeLogLocation = true;
/**
* Comma-separated list of runtime contexts to use.
*/
private String contexts;
/**
* Default database schema.
*/
private String defaultSchema;
/**
* Whether to first drop the database schema.
*/
private boolean dropFirst;
/**
* Whether to enable Liquibase support.
*/
private boolean enabled = true;
/**
* Login user of the database to migrate.
*/
private String user;
/**
* Login password of the database to migrate.
*/
private String password;
/**
* JDBC URL of the database to migrate. If not set, the primary configured data source
* is used.
*/
private String url;
/**
* Comma-separated list of runtime labels to use.
*/
private String labels;
/**
* Change log parameters.
*/
private Map parameters;
/**
* File to which rollback SQL is written when an update is performed.
*/
private File rollbackFile;
public String getChangeLog() {
return this.changeLog;
}
public void setChangeLog(String changeLog) {
Assert.notNull(changeLog, "ChangeLog must not be null");
this.changeLog = changeLog;
}
public boolean isCheckChangeLogLocation() {
return this.checkChangeLogLocation;
}
public void setCheckChangeLogLocation(boolean checkChangeLogLocation) {
this.checkChangeLogLocation = checkChangeLogLocation;
}
public String getContexts() {
return this.contexts;
}
public void setContexts(String contexts) {
this.contexts = contexts;
}
public String getDefaultSchema() {
return this.defaultSchema;
}
public void setDefaultSchema(String defaultSchema) {
this.defaultSchema = defaultSchema;
}
public boolean isDropFirst() {
return this.dropFirst;
}
public void setDropFirst(boolean dropFirst) {
this.dropFirst = dropFirst;
}
public boolean isEnabled() {
return this.enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public String getUser() {
return this.user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUrl() {
return this.url;
}
public void setUrl(String url) {
this.url = url;
}
public String getLabels() {
return this.labels;
}
public void setLabels(String labels) {
this.labels = labels;
}
public Map getParameters() {
return this.parameters;
}
public void setParameters(Map parameters) {
this.parameters = parameters;
}
public File getRollbackFile() {
return this.rollbackFile;
}
public void setRollbackFile(File rollbackFile) {
this.rollbackFile = rollbackFile;
}
}