Package liquibase.change.core
Class AddNotNullConstraintChange
- java.lang.Object
-
- liquibase.AbstractExtensibleObject
-
- liquibase.plugin.AbstractPlugin
-
- liquibase.change.AbstractChange
-
- liquibase.change.core.AddNotNullConstraintChange
-
- All Implemented Interfaces:
Cloneable
,Change
,ExtensibleObject
,Plugin
,LiquibaseSerializable
public class AddNotNullConstraintChange extends AbstractChange
Adds a NOT NULL constraint to an existing column.
-
-
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 AddNotNullConstraintChange()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Change[]
createInverses()
Create inverse changes that can roll back this change.SqlStatement[]
generateStatements(Database database)
Generates theSqlStatement
objects required to run the change for the given database.String
getCatalogName()
String
getColumnDataType()
String
getColumnName()
String
getConfirmationMessage()
Confirmation message to be displayed after the change is executed.String
getConstraintName()
String
getDefaultNullValue()
String
getSchemaName()
String
getSerializedObjectNamespace()
String
getTableName()
Boolean
getValidate()
In certain SQL dialects, the VALIDATE keyword defines whether a NOT NULL constraint on a column in a table should be checked if it refers to a valid row or not.void
setCatalogName(String catalogName)
void
setColumnDataType(String columnDataType)
void
setColumnName(String columnName)
void
setConstraintName(String constraintName)
void
setDefaultNullValue(String defaultNullValue)
void
setSchemaName(String schemaName)
void
setTableName(String tableName)
void
setValidate(Boolean shouldValidate)
-
Methods inherited from class liquibase.change.AbstractChange
checkStatus, createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, equals, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, generateStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getDescription, getExcludedFieldFilters, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, hashCode, isInvalidProperty, load, modify, serialize, serializeValue, setChangeSet, setResourceAccessor, shouldExecuteChange, supports, supportsRollback, toString, validate, 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
-
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)
-
getColumnName
public String getColumnName()
-
setColumnName
public void setColumnName(String columnName)
-
getDefaultNullValue
public String getDefaultNullValue()
-
setDefaultNullValue
public void setDefaultNullValue(String defaultNullValue)
-
getColumnDataType
public String getColumnDataType()
-
setColumnDataType
public void setColumnDataType(String columnDataType)
-
getConstraintName
public String getConstraintName()
-
setConstraintName
public void setConstraintName(String constraintName)
-
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)
.
-
createInverses
protected Change[] createInverses()
Description copied from class:AbstractChange
Create inverse changes that can roll back this change. This method is intended to be overridden by Change implementations that have a logical inverse operation. Default implementation returns null. IfAbstractChange.generateRollbackStatements(liquibase.database.Database)
is overridden, this method may not be called.- Overrides:
createInverses
in classAbstractChange
- 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.
- See Also:
#supportsRollback
-
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 interfaceLiquibaseSerializable
- Overrides:
getSerializedObjectNamespace
in classAbstractChange
-
getValidate
public Boolean getValidate()
In certain SQL dialects, the VALIDATE keyword defines whether a NOT NULL constraint on a column in a table should be checked if it refers to a valid row or not.- Returns:
- true if ENABLE VALIDATE (this is the default), or false if ENABLE NOVALIDATE.
-
setValidate
public void setValidate(Boolean shouldValidate)
- Parameters:
shouldValidate
- - if shouldValidate is set to FALSE then the constraint will be created with the 'ENABLE NOVALIDATE' mode. This means the constraint would be created, but that no check will be done to ensure old data has valid not null constrain - only new data would be checked to see if it complies with the constraint logic. The default state for not null constrain is to have 'ENABLE VALIDATE' set.
-
-