Top Description Fields Constructors Methods
liquibase.change.core

public Class MergeColumnChange

extends AbstractChange
Class Inheritance
Annotations
@DatabaseChange
name:mergeColumns
description:Concatenates the values in two columns, joins them with a string, and stores the resulting value in a new column.
priority:1
Imports
liquibase.change.*, liquibase.database.Database, liquibase.database.core.*, liquibase.exception.DatabaseException, .UnexpectedLiquibaseException, liquibase.statement.SqlStatement, liquibase.statement.core.RawSqlStatement, liquibase.structure.core.Column, .Index, java.util.ArrayList, .Arrays, .List

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

Field Summary

Modifier and TypeField and Description
private String
private String
private String
private String
private String
private String
private String
private String
Inherited from liquibase.change.AbstractChange:
NODENAME_COLUMN

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public SqlStatement[]
generateStatements(final Database database)

Implements liquibase.change.Change.generateStatements.

Generates the SqlStatement objects required to run the change for the given database.

public boolean
public String
public String
public String
public String
getConfirmationMessage()

Implements liquibase.change.Change.getConfirmationMessage.

Confirmation message to be displayed after the change is executed.

public String
public String
public String
public String
public String
public String
public void
setCatalogName(String catalogName)

public void
setColumn1Name(String column1Name)

public void
setColumn2Name(String column2Name)

public void
setFinalColumnName(String finalColumnName)

public void
setFinalColumnType(String finalColumnType)

public void
setJoinString(String joinString)

public void
setSchemaName(String schemaName)

public void
setTableName(String tableName)

public boolean
Inherited from liquibase.change.AbstractChange:
checkStatuscreateChangeMetaDatacreateChangeParameterMetadatacreateDescriptionMetaDatacreateEmptyColumnConfigcreateExampleValueMetaDatacreateInversescreateMustEqualExistingMetaDatacreateRequiredDatabasesMetaDatacreateSerializationTypeMetaDatacreateSinceMetaDatacreateSupportedDatabasesMetaDatacustomLoadLogicequalsfinishInitializationgenerateCheckSumgenerateRollbackStatementsgenerateRollbackStatementsVolatilegetAffectedDatabaseObjectsgetChangeSetgetDescriptiongetExcludedFieldFiltersgetResourceAccessorgetSerializableFieldNamespacegetSerializableFieldsgetSerializableFieldTypegetSerializableFieldValuegetSerializedObjectNamehashCodeisInvalidPropertyloadmodifyserializeserializeValuesetChangeSetsetResourceAccessorshouldExecuteChangesupportsRollbacktoStringvalidatewarn

Field Detail

catalogNameback to summary
private String catalogName
column1Nameback to summary
private String column1Name
column2Nameback to summary
private String column2Name
finalColumnNameback to summary
private String finalColumnName
finalColumnTypeback to summary
private String finalColumnType
joinStringback to summary
private String joinString
schemaNameback to summary
private String schemaName
tableNameback to summary
private String tableName

Constructor Detail

MergeColumnChangeback to summary
public MergeColumnChange()

Method Detail

generateStatementsback to summary
public SqlStatement[] generateStatements(final Database database)

Implements liquibase.change.Change.generateStatements.

Doc from liquibase.change.Change.generateStatements.

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 generateStatementsVolatile.
Annotations
@Override
generateStatementsVolatileback to summary
public boolean generateStatementsVolatile(Database database)

Overrides liquibase.change.AbstractChange.generateStatementsVolatile.

Implements liquibase.change.Change.generateStatementsVolatile.

Doc from liquibase.change.AbstractChange.generateStatementsVolatile.

Implementation delegates logic to the liquibase.sqlgenerator.SqlGenerator#generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by generateStatements. If zero or null SqlStatements are returned by generateStatements then this method returns false.

Annotations
@Override
getCatalogNameback to summary
public String getCatalogName()
Annotations
@DatabaseChangeProperty
description:Name of the database catalog
getColumn1Nameback to summary
public String getColumn1Name()
Annotations
@DatabaseChangeProperty
description:Name of the column containing the first half of the data
exampleValue:first_name
getColumn2Nameback to summary
public String getColumn2Name()
Annotations
@DatabaseChangeProperty
description:Name of the column containing the second half of the data
exampleValue:last_name
getConfirmationMessageback to summary
public String getConfirmationMessage()

Implements liquibase.change.Change.getConfirmationMessage.

Doc from liquibase.change.Change.getConfirmationMessage.

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.

Annotations
@Override
getFinalColumnNameback to summary
public String getFinalColumnName()
Annotations
@DatabaseChangeProperty
description:Name of the column to create
exampleValue:full_name
getFinalColumnTypeback to summary
public String getFinalColumnType()
Annotations
@DatabaseChangeProperty
description:Data type of the column to create
exampleValue:varchar(255)
getJoinStringback to summary
public String getJoinString()
Annotations
@DatabaseChangeProperty
description:String to place between the values from column1 and column2 (may be empty)
exampleValue:
getSchemaNameback to summary
public String getSchemaName()
Annotations
@DatabaseChangeProperty
description:Name of the database schema
getSerializedObjectNamespaceback to summary
public String getSerializedObjectNamespace()

Overrides liquibase.change.AbstractChange.getSerializedObjectNamespace.

Implements liquibase.serializer.LiquibaseSerializable.getSerializedObjectNamespace.

Annotations
@Override
getTableNameback to summary
public String getTableName()
Annotations
@DatabaseChangeProperty
description:Name of the table containing the columns to join
setCatalogNameback to summary
public void setCatalogName(String catalogName)
setColumn1Nameback to summary
public void setColumn1Name(String column1Name)
setColumn2Nameback to summary
public void setColumn2Name(String column2Name)
setFinalColumnNameback to summary
public void setFinalColumnName(String finalColumnName)
setFinalColumnTypeback to summary
public void setFinalColumnType(String finalColumnType)
setJoinStringback to summary
public void setJoinString(String joinString)
setSchemaNameback to summary
public void setSchemaName(String schemaName)
setTableNameback to summary
public void setTableName(String tableName)
supportsback to summary
public boolean supports(Database database)

Overrides liquibase.change.AbstractChange.supports.

Implements liquibase.change.Change.supports.

Doc from liquibase.change.AbstractChange.supports.

Implementation delegates logic to the liquibase.sqlgenerator.SqlGenerator#supports(liquibase.statement.SqlStatement, liquibase.database.Database) method on the SqlStatement objects returned by generateStatements. If no or null SqlStatements are returned by generateStatements then this method returns true. If generateStatementsVolatile(liquibase.database.Database) returns true, we cannot call generateStatements and so assume true.

Annotations
@Override