Package liquibase.change.core
Class AddForeignKeyConstraintChange
java.lang.Object
liquibase.AbstractExtensibleObject
liquibase.plugin.AbstractPlugin
liquibase.change.AbstractChange
liquibase.change.core.AddForeignKeyConstraintChange
- All Implemented Interfaces:
Cloneable
,Change
,ExtensibleObject
,Plugin
,LiquibaseSerializable
Adds a foreign key 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
-
Method Summary
Modifier and TypeMethodDescriptioncheckStatus
(Database database) Validate that this change executed successfully against the given database.protected Change[]
Create inverse changes that can roll back this change.generateStatements
(Database database) Generates theSqlStatement
objects required to run the change for the given database.Confirmation message to be displayed after the change is executed.Deprecated.Deprecated.No longer supported in 3.0the VALIDATE keyword defines whether to check if a foreign key constraint on a column in a table refers to a valid row or not.void
setDeleteCascade
(Boolean deleteCascade) void
setOnDelete
(String onDelete) void
void
setOnUpdate
(String rule) void
void
setReferencesUniqueColumn
(Boolean referencesUniqueColumn) void
setValidate
(Boolean shouldValidate) Methods inherited from class liquibase.change.AbstractChange
createAlternateParameterNames, 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
-
Constructor Details
-
AddForeignKeyConstraintChange
public AddForeignKeyConstraintChange()
-
-
Method Details
-
getBaseTableCatalogName
-
getBaseTableSchemaName
-
getBaseTableName
-
getBaseColumnNames
-
getReferencedTableCatalogName
-
getReferencedTableSchemaName
-
getReferencedTableName
-
getReferencedColumnNames
-
getConstraintName
-
getDeferrable
-
getInitiallyDeferred
-
getValidate
the VALIDATE keyword defines whether to check if a foreign key constraint on a column in a table refers to a valid row or not.- Returns:
- true if ENABLE VALIDATE (this is the default), or false if ENABLE NOVALIDATE.
-
setValidate
- 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 foreign keys - only new data would be checked to see if it complies with the constraint logic. The default state for foreign keys is to have 'ENABLE VALIDATE' set.
-
getDeleteCascade
Deprecated.UsegetOnDelete()
. This always returns null so it doesn't impact checksums when settings onDelete vs. deleteCascade -
setDeleteCascade
-
setOnUpdate
-
getOnUpdate
-
getOnDelete
-
setOnDelete
-
setOnDelete
-
setOnUpdate
-
generateStatements
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
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:
-
checkStatus
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
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. -
getReferencesUniqueColumn
Deprecated.No longer supported in 3.0 -
setReferencesUniqueColumn
-
getSerializedObjectNamespace
- Specified by:
getSerializedObjectNamespace
in interfaceLiquibaseSerializable
- Overrides:
getSerializedObjectNamespace
in classAbstractChange
-
getOnDelete()
.