Package liquibase.change.core
Class DropColumnChange
- java.lang.Object
-
- liquibase.AbstractExtensibleObject
-
- liquibase.plugin.AbstractPlugin
-
- liquibase.change.AbstractChange
-
- liquibase.change.core.DropColumnChange
-
- All Implemented Interfaces:
Cloneable
,Change
,ChangeWithColumns<ColumnConfig>
,ExtensibleObject
,Plugin
,LiquibaseSerializable
public class DropColumnChange extends AbstractChange implements ChangeWithColumns<ColumnConfig>
Drops an existing column from a table.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface liquibase.serializer.LiquibaseSerializable
LiquibaseSerializable.SerializationType
-
-
Field Summary
-
Fields inherited from class liquibase.change.AbstractChange
NODENAME_COLUMN
-
Fields inherited from interface liquibase.change.Change
EMPTY_CHANGE, SHOULD_EXECUTE
-
Fields inherited from interface liquibase.serializer.LiquibaseSerializable
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE
-
Fields inherited from interface liquibase.plugin.Plugin
PRIORITY_DATABASE, PRIORITY_DEFAULT, PRIORITY_NOT_APPLICABLE, PRIORITY_SPECIALIZED
-
-
Constructor Summary
Constructors Constructor Description DropColumnChange()
-
Method Summary
-
Methods inherited from class liquibase.change.AbstractChange
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createInverses, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, equals, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getDescription, getExcludedFieldFilters, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializedObjectName, hashCode, isInvalidProperty, load, modify, serialize, serializeValue, setChangeSet, setResourceAccessor, shouldExecuteChange, supportsRollback, toString, warn
-
Methods inherited from class liquibase.AbstractExtensibleObject
clone, describe, get, get, get, getAttributes, getFieldValue, getObjectMetaData, getValuePath, has, set
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface liquibase.ExtensibleObject
clone, describe, get, get, getAttributes, getObjectMetaData, getValuePath, has, set
-
-
-
-
Method Detail
-
generateStatementsVolatile
public boolean generateStatementsVolatile(Database database)
Description copied from class:AbstractChange
Implementation delegates logic to theSqlGenerator.generateStatementsIsVolatile(Database)
method on theSqlStatement
objects returned byChange.generateStatements(liquibase.database.Database)
. If zero or null SqlStatements are returned by generateStatements then this method returns false.- Specified by:
generateStatementsVolatile
in interfaceChange
- Overrides:
generateStatementsVolatile
in classAbstractChange
-
supports
public boolean supports(Database database)
Description copied from class:AbstractChange
Implementation delegates logic to theSqlGenerator.supports(liquibase.statement.SqlStatement, liquibase.database.Database)
method on theSqlStatement
objects returned byChange.generateStatements(liquibase.database.Database)
. If no or null SqlStatements are returned by generateStatements then this method returns true. IfAbstractChange.generateStatementsVolatile(liquibase.database.Database)
returns true, we cannot call generateStatements and so assume true.- Specified by:
supports
in interfaceChange
- Overrides:
supports
in classAbstractChange
-
validate
public ValidationErrors validate(Database database)
Description copied from class:AbstractChange
Implementation checks the ChangeParameterMetaData for declared required fields and also delegates logic to theSqlGenerator.validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain)
method on theSqlStatement
objects returned byChange.generateStatements(liquibase.database.Database)
. If no or null SqlStatements are returned by generateStatements then this method returns no errors. If there are no parameters than this method returns no errors- Specified by:
validate
in interfaceChange
- Overrides:
validate
in classAbstractChange
-
getColumnName
public String getColumnName()
-
setColumnName
public void setColumnName(String columnName)
-
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)
-
generateStatements
public SqlStatement[] generateStatements(Database database)
Description copied from interface:Change
Generates theSqlStatement
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 fromChange.generateStatementsVolatile(liquibase.database.Database)
.- Specified by:
generateStatements
in interfaceChange
-
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 interfaceChange
- Overrides:
checkStatus
in classAbstractChange
-
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.- Specified by:
getConfirmationMessage
in interfaceChange
-
getSerializedObjectNamespace
public String getSerializedObjectNamespace()
- Specified by:
getSerializedObjectNamespace
in interfaceLiquibaseSerializable
- Overrides:
getSerializedObjectNamespace
in classAbstractChange
-
getSerializableFieldValue
public Object getSerializableFieldValue(String field)
- Specified by:
getSerializableFieldValue
in interfaceLiquibaseSerializable
- Overrides:
getSerializableFieldValue
in classAbstractChange
-
addColumn
public void addColumn(ColumnConfig column)
Description copied from interface:ChangeWithColumns
Add a column configuration to the Change.- Specified by:
addColumn
in interfaceChangeWithColumns<ColumnConfig>
-
getColumns
public List<ColumnConfig> getColumns()
Description copied from interface:ChangeWithColumns
Return all theColumnConfig
objects defined for thisChange
- Specified by:
getColumns
in interfaceChangeWithColumns<ColumnConfig>
-
setColumns
public void setColumns(List<ColumnConfig> columns)
- Specified by:
setColumns
in interfaceChangeWithColumns<ColumnConfig>
-
-