Class AddUniqueConstraintChange

All Implemented Interfaces:
Cloneable, Change, ExtensibleObject, Plugin, LiquibaseSerializable

public class AddUniqueConstraintChange extends AbstractChange
Adds a unique constraint to an existing column.
  • Constructor Details

    • AddUniqueConstraintChange

      public AddUniqueConstraintChange()
  • Method Details

    • 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)
    • getColumnNames

      public String getColumnNames()
    • setColumnNames

      public void setColumnNames(String columnNames)
    • getConstraintName

      public String getConstraintName()
    • setConstraintName

      public void setConstraintName(String constraintName)
    • getTablespace

      public String getTablespace()
    • setTablespace

      public void setTablespace(String tablespace)
    • getDeferrable

      public Boolean getDeferrable()
    • setDeferrable

      public void setDeferrable(Boolean deferrable)
    • getInitiallyDeferred

      public Boolean getInitiallyDeferred()
    • setInitiallyDeferred

      public void setInitiallyDeferred(Boolean initiallyDeferred)
    • getDisabled

      public Boolean getDisabled()
    • setDisabled

      public void setDisabled(Boolean disabled)
    • getValidate

      public Boolean getValidate()
      In Oracle PL/SQL, the VALIDATE keyword defines whether a newly added unique constraint on a column in a table should cause existing rows to be checked to see if they satisfy the uniqueness constraint or not.
      Returns:
      true if ENABLE VALIDATE (this is the default), or false if ENABLE NOVALIDATE.
    • setValidate

      public void setValidate(Boolean validate)
      Parameters:
      validate - - 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 constraints - only new data would be checked to see if it complies with the constraint logic. The default state for unique constraints is to have 'ENABLE VALIDATE' set.
    • getClustered

      public Boolean getClustered()
    • setClustered

      public void setClustered(Boolean clustered)
    • getForIndexName

      public String getForIndexName()
    • setForIndexName

      public void setForIndexName(String forIndexName)
    • getForIndexSchemaName

      public String getForIndexSchemaName()
    • setForIndexSchemaName

      public void setForIndexSchemaName(String forIndexSchemaName)
    • getForIndexCatalogName

      public String getForIndexCatalogName()
    • setForIndexCatalogName

      public void setForIndexCatalogName(String forIndexCatalogName)
    • 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).
    • createAddUniqueConstraintStatement

      protected AddUniqueConstraintStatement createAddUniqueConstraintStatement()
    • 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.
    • 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.

      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.
      See Also:
    • getSerializedObjectNamespace

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