liquibase.change.core
Class AddForeignKeyConstraintChange

java.lang.Object
  extended by liquibase.change.AbstractChange
      extended by liquibase.change.core.AddForeignKeyConstraintChange
All Implemented Interfaces:
Change, LiquibaseSerializable

public class AddForeignKeyConstraintChange
extends AbstractChange

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 interface liquibase.serializer.LiquibaseSerializable
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE
 
Constructor Summary
AddForeignKeyConstraintChange()
           
 
Method Summary
 ChangeStatus checkStatus(Database database)
          Validate that this change executed successfully against the given database.
protected  Change[] createInverses()
          Create inverse changes that can roll back this change.
protected  String[] createSupportedDatabasesMetaData(String parameterName, DatabaseChangeProperty changePropertyAnnotation)
          Create the ChangeParameterMetaData "supportedDatabase" value.
 SqlStatement[] generateStatements(Database database)
          Generates the SqlStatement objects required to run the change for the given database.
 String getBaseColumnNames()
           
 String getBaseTableCatalogName()
           
 String getBaseTableName()
           
 String getBaseTableSchemaName()
           
 String getConfirmationMessage()
          Confirmation message to be displayed after the change is executed.
 String getConstraintName()
           
 Boolean getDeferrable()
           
 Boolean getInitiallyDeferred()
           
 String getOnDelete()
           
 String getOnUpdate()
           
 String getReferencedColumnNames()
           
 String getReferencedTableCatalogName()
           
 String getReferencedTableName()
           
 String getReferencedTableSchemaName()
           
 Boolean getReferencesUniqueColumn()
          Deprecated. No longer supported in 3.0
 String getSerializedObjectNamespace()
           
 void setBaseColumnNames(String baseColumnNames)
           
 void setBaseTableCatalogName(String baseTableCatalogName)
           
 void setBaseTableName(String baseTableName)
           
 void setBaseTableSchemaName(String baseTableSchemaName)
           
 void setConstraintName(String constraintName)
           
 void setDeferrable(Boolean deferrable)
           
 void setDeleteCascade(Boolean deleteCascade)
           
 void setInitiallyDeferred(Boolean initiallyDeferred)
           
 void setOnDelete(ForeignKeyConstraintType rule)
           
 void setOnDelete(String onDelete)
           
 void setOnUpdate(ForeignKeyConstraintType rule)
           
 void setOnUpdate(String rule)
           
 void setReferencedColumnNames(String referencedColumnNames)
           
 void setReferencedTableCatalogName(String referencedTableCatalogName)
           
 void setReferencedTableName(String referencedTableName)
           
 void setReferencedTableSchemaName(String referencedTableSchemaName)
           
 void setReferencesUniqueColumn(Boolean referencesUniqueColumn)
           
 
Methods inherited from class liquibase.change.AbstractChange
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createExampleValueMetaData, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, customLoadLogic, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, generateStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supports, supportsRollback, toString, validate, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AddForeignKeyConstraintChange

public AddForeignKeyConstraintChange()
Method Detail

createSupportedDatabasesMetaData

protected String[] createSupportedDatabasesMetaData(String parameterName,
                                                    DatabaseChangeProperty changePropertyAnnotation)
Description copied from class: AbstractChange
Create the ChangeParameterMetaData "supportedDatabase" value. Uses the value on the DatabaseChangeProperty annotation or returns an array containing the string "COMPUTE" as a default. "COMPUTE" will cause ChangeParameterMetaData to attempt to determine the required databases based on the generated Statements

Overrides:
createSupportedDatabasesMetaData in class AbstractChange

getBaseTableCatalogName

public String getBaseTableCatalogName()

setBaseTableCatalogName

public void setBaseTableCatalogName(String baseTableCatalogName)

getBaseTableSchemaName

public String getBaseTableSchemaName()

setBaseTableSchemaName

public void setBaseTableSchemaName(String baseTableSchemaName)

getBaseTableName

public String getBaseTableName()

setBaseTableName

public void setBaseTableName(String baseTableName)

getBaseColumnNames

public String getBaseColumnNames()

setBaseColumnNames

public void setBaseColumnNames(String baseColumnNames)

getReferencedTableCatalogName

public String getReferencedTableCatalogName()

setReferencedTableCatalogName

public void setReferencedTableCatalogName(String referencedTableCatalogName)

getReferencedTableSchemaName

public String getReferencedTableSchemaName()

setReferencedTableSchemaName

public void setReferencedTableSchemaName(String referencedTableSchemaName)

getReferencedTableName

public String getReferencedTableName()

setReferencedTableName

public void setReferencedTableName(String referencedTableName)

getReferencedColumnNames

public String getReferencedColumnNames()

setReferencedColumnNames

public void setReferencedColumnNames(String referencedColumnNames)

getConstraintName

public String getConstraintName()

setConstraintName

public void setConstraintName(String constraintName)

getDeferrable

public Boolean getDeferrable()

setDeferrable

public void setDeferrable(Boolean deferrable)

getInitiallyDeferred

public Boolean getInitiallyDeferred()

setInitiallyDeferred

public void setInitiallyDeferred(Boolean initiallyDeferred)

setDeleteCascade

public void setDeleteCascade(Boolean deleteCascade)

setOnUpdate

public void setOnUpdate(String rule)

getOnUpdate

public String getOnUpdate()

setOnDelete

public void setOnDelete(String onDelete)

getOnDelete

public String getOnDelete()

setOnDelete

public void setOnDelete(ForeignKeyConstraintType rule)

setOnUpdate

public void setOnUpdate(ForeignKeyConstraintType rule)

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).


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.

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.


getReferencesUniqueColumn

public Boolean getReferencesUniqueColumn()
Deprecated. No longer supported in 3.0


setReferencesUniqueColumn

public void setReferencesUniqueColumn(Boolean referencesUniqueColumn)

getSerializedObjectNamespace

public String getSerializedObjectNamespace()
Specified by:
getSerializedObjectNamespace in interface LiquibaseSerializable
Overrides:
getSerializedObjectNamespace in class AbstractChange


Copyright © 2015 Liquibase.org. All rights reserved.