liquibase.change.core
Class MergeColumnChange

java.lang.Object
  extended by liquibase.change.AbstractChange
      extended by liquibase.change.core.MergeColumnChange
All Implemented Interfaces:
Change, LiquibaseSerializable

public class MergeColumnChange
extends AbstractChange

Combines data from two existing columns into a new column and drops the original columns.


Nested Class Summary
 
Nested classes/interfaces inherited from interface liquibase.serializer.LiquibaseSerializable
LiquibaseSerializable.SerializationType
 
Field Summary
 
Fields inherited from interface liquibase.serializer.LiquibaseSerializable
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE
 
Constructor Summary
MergeColumnChange()
           
 
Method Summary
 SqlStatement[] generateStatements(Database database)
          Generates the SqlStatement objects required to run the change for the given database.
 boolean generateStatementsVolatile(Database database)
          Implementation delegates logic to the SqlGenerator.generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
 String getCatalogName()
           
 String getColumn1Name()
           
 String getColumn2Name()
           
 String getConfirmationMessage()
          Confirmation message to be displayed after the change is executed.
 String getFinalColumnName()
           
 String getFinalColumnType()
           
 String getJoinString()
           
 String getSchemaName()
           
 String getSerializedObjectNamespace()
           
 String getTableName()
           
 void setCatalogName(String catalogName)
           
 void setColumn1Name(String column1Name)
           
 void setColumn2Name(String column2Name)
           
 void setFinalColumnName(String finalColumnName)
           
 void setFinalColumnType(String finalColumnType)
           
 void setJoinString(String joinString)
           
 void setSchemaName(String schemaName)
           
 void setTableName(String tableName)
           
 boolean supports(Database database)
          Implementation delegates logic to the SqlGenerator.supports(liquibase.statement.SqlStatement, liquibase.database.Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
 
Methods inherited from class liquibase.change.AbstractChange
checkStatus, createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createExampleValueMetaData, createInverses, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supportsRollback, toString, validate, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MergeColumnChange

public MergeColumnChange()
Method Detail

supports

public boolean supports(Database database)
Description copied from class: AbstractChange
Implementation delegates logic to the SqlGenerator.supports(liquibase.statement.SqlStatement, liquibase.database.Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). If no or null SqlStatements are returned by generateStatements then this method returns true. If AbstractChange.generateStatementsVolatile(liquibase.database.Database) returns true, we cannot call generateStatements and so assume true.

Specified by:
supports in interface Change
Overrides:
supports in class AbstractChange

getCatalogName

public String getCatalogName()

setCatalogName

public void setCatalogName(String catalogName)

getSchemaName

public String getSchemaName()

setSchemaName

public void setSchemaName(String schemaName)

getTableName

public String getTableName()

setTableName

public void setTableName(String tableName)

getColumn1Name

public String getColumn1Name()

setColumn1Name

public void setColumn1Name(String column1Name)

getJoinString

public String getJoinString()

setJoinString

public void setJoinString(String joinString)

getColumn2Name

public String getColumn2Name()

setColumn2Name

public void setColumn2Name(String column2Name)

getFinalColumnName

public String getFinalColumnName()

setFinalColumnName

public void setFinalColumnName(String finalColumnName)

getFinalColumnType

public String getFinalColumnType()

setFinalColumnType

public void setFinalColumnType(String finalColumnType)

generateStatementsVolatile

public boolean generateStatementsVolatile(Database database)
Description copied from class: AbstractChange
Implementation delegates logic to the SqlGenerator.generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). If zero or null SqlStatements are returned by generateStatements then this method returns false.

Specified by:
generateStatementsVolatile in interface Change
Overrides:
generateStatementsVolatile in class AbstractChange

generateStatements

public SqlStatement[] generateStatements(Database database)
Description copied from interface: Change
Generates the SqlStatement objects required to run the change for the given database.

NOTE: This method may be called multiple times throughout the changelog execution process and may be called in documentation generation and other integration points as well.

If this method reads from the current database state or uses any other logic that will be affected by whether previous changeSets have ran or not, you must return true from Change.generateStatementsVolatile(liquibase.database.Database).


getConfirmationMessage

public String getConfirmationMessage()
Description copied from interface: Change
Confirmation message to be displayed after the change is executed. Should include relevant configuration settings to make it as helpful as possible. This method may be called outside the changelog execution process, such as in documentation generation.


getSerializedObjectNamespace

public String getSerializedObjectNamespace()
Specified by:
getSerializedObjectNamespace in interface LiquibaseSerializable
Overrides:
getSerializedObjectNamespace in class AbstractChange


Copyright © 2015 Liquibase.org. All rights reserved.