liquibase.change.core
Class AddLookupTableChange
java.lang.Object
liquibase.change.AbstractChange
liquibase.change.core.AddLookupTableChange
- All Implemented Interfaces:
- Change, LiquibaseSerializable
public class AddLookupTableChange
- extends AbstractChange
Extracts data from an existing column to create a lookup table.
A foreign key is created between the old column and the new lookup table.
Methods inherited from class liquibase.change.AbstractChange |
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, generateStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supportsRollback, toString, validate, warn |
AddLookupTableChange
public AddLookupTableChange()
getExistingTableCatalogName
public String getExistingTableCatalogName()
setExistingTableCatalogName
public void setExistingTableCatalogName(String existingTableCatalogName)
getExistingTableSchemaName
public String getExistingTableSchemaName()
setExistingTableSchemaName
public void setExistingTableSchemaName(String existingTableSchemaName)
getExistingTableName
public String getExistingTableName()
setExistingTableName
public void setExistingTableName(String existingTableName)
getExistingColumnName
public String getExistingColumnName()
setExistingColumnName
public void setExistingColumnName(String existingColumnName)
getNewTableCatalogName
public String getNewTableCatalogName()
setNewTableCatalogName
public void setNewTableCatalogName(String newTableCatalogName)
getNewTableSchemaName
public String getNewTableSchemaName()
setNewTableSchemaName
public void setNewTableSchemaName(String newTableSchemaName)
getNewTableName
public String getNewTableName()
setNewTableName
public void setNewTableName(String newTableName)
getNewColumnName
public String getNewColumnName()
setNewColumnName
public void setNewColumnName(String newColumnName)
getNewColumnDataType
public String getNewColumnDataType()
setNewColumnDataType
public void setNewColumnDataType(String newColumnDataType)
getConstraintName
public String getConstraintName()
getFinalConstraintName
public String getFinalConstraintName()
setConstraintName
public void setConstraintName(String constraintName)
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
createInverses
protected Change[] createInverses()
- Description copied from class:
AbstractChange
- Create inverse changes that can roll back this change. This method is intended
to be overriden by Change implementations that have a logical inverse operation. Default implementation returns null.
If
AbstractChange.generateRollbackStatements(liquibase.database.Database)
is overridden, this method may not be called.
- Overrides:
createInverses
in class AbstractChange
- Returns:
- Return null if there is no corresponding inverse and therefore automatic rollback is not possible. Return an empty array to have a no-op rollback.
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)
.
checkStatus
public ChangeStatus checkStatus(Database database)
- Description copied from interface:
Change
- Validate that this change executed successfully against the given database. This will check that the update completed at a high level plus check details of the change.
For example, a change to add a column will check that the column exists plus data type, default values, etc.
- Specified by:
checkStatus
in interface Change
- Overrides:
checkStatus
in class AbstractChange
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 © 2016 Liquibase.org. All rights reserved.