Class SpringLiquibase

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ResourceLoaderAware

    public class SpringLiquibase
    extends Object
    implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ResourceLoaderAware
    A Spring-ified wrapper for Liquibase.

    Example Configuration:

    This Spring configuration example will cause liquibase to run automatically when the Spring context is initialized. It will load db-changelog.xml from the classpath and apply it against myDataSource.

     <bean id="myLiquibase"
              class="liquibase.spring.SpringLiquibase"
              >
    
          <property name="dataSource" ref="myDataSource" />
    
          <property name="changeLog" value="classpath:db-changelog.xml" />
    
     </bean>
    
     
    • Field Detail

      • log

        protected final Logger log
      • beanName

        protected String beanName
      • resourceLoader

        protected org.springframework.core.io.ResourceLoader resourceLoader
      • changeLog

        protected String changeLog
      • contexts

        protected String contexts
      • labelFilter

        protected String labelFilter
      • defaultSchema

        protected String defaultSchema
      • liquibaseSchema

        protected String liquibaseSchema
      • databaseChangeLogTable

        protected String databaseChangeLogTable
      • databaseChangeLogLockTable

        protected String databaseChangeLogLockTable
      • liquibaseTablespace

        protected String liquibaseTablespace
      • dropFirst

        protected boolean dropFirst
      • clearCheckSums

        protected boolean clearCheckSums
      • shouldRun

        protected boolean shouldRun
      • rollbackFile

        protected File rollbackFile
      • testRollbackOnUpdate

        protected boolean testRollbackOnUpdate
    • Constructor Detail

      • SpringLiquibase

        public SpringLiquibase()
    • Method Detail

      • getDataSource

        public DataSource getDataSource()
        The DataSource that liquibase will use to perform the migration.
      • setDataSource

        public void setDataSource​(DataSource dataSource)
        The DataSource that liquibase will use to perform the migration.
      • getChangeLog

        public String getChangeLog()
        Returns a Resource that is able to resolve to a file or classpath resource.
      • setChangeLog

        public void setChangeLog​(String dataModel)
        Sets a Spring Resource that is able to resolve to a file or classpath resource. An example might be classpath:db-changelog.xml.
      • getLabels

        public String getLabels()
        Deprecated.
        use #getLabelFilter()
      • setLabels

        public void setLabels​(String labels)
        Deprecated.
        use #setLabelFilter(String)
      • isTestRollbackOnUpdate

        public boolean isTestRollbackOnUpdate()
        Returns whether a rollback should be tested at update time or not.
      • setTestRollbackOnUpdate

        public void setTestRollbackOnUpdate​(boolean testRollbackOnUpdate)
        If testRollbackOnUpdate is set to true a rollback will be tested at update time. For doing so when the update is performed
        Parameters:
        testRollbackOnUpdate -
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws LiquibaseException
        Executed automatically when the bean is initialized.
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        LiquibaseException
      • createDatabase

        protected Database createDatabase​(Connection c,
                                          ResourceAccessor resourceAccessor)
                                   throws DatabaseException
        Subclasses may override this method to modify the database settings, such as the default schema, before returning the database object.
        Parameters:
        c - the connection to the database
        Returns:
        a Database implementation retrieved from the DatabaseFactory
        Throws:
        DatabaseException - if there is an error retrieving the database implementation
      • setChangeLogParameters

        public void setChangeLogParameters​(Map<String,​String> parameters)
      • getBeanName

        public String getBeanName()
        Gets the Spring-name of this instance.
        Returns:
      • setBeanName

        public void setBeanName​(String name)
        Spring sets this automatically to the instance's configured bean name.
        Specified by:
        setBeanName in interface org.springframework.beans.factory.BeanNameAware
      • setUiService

        public void setUiService​(UIServiceEnum uiService)