liquibase.change.core
Class CreateIndexChange

java.lang.Object
  extended by liquibase.change.AbstractChange
      extended by liquibase.change.core.CreateIndexChange
All Implemented Interfaces:
Change, ChangeWithColumns<AddColumnConfig>, LiquibaseSerializable

public class CreateIndexChange
extends AbstractChange
implements ChangeWithColumns<AddColumnConfig>

Creates an index on 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
CreateIndexChange()
           
 
Method Summary
 void addColumn(AddColumnConfig column)
          Add a column configuration to the Change.
 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.
 SqlStatement[] generateStatements(Database database)
          Generates the SqlStatement objects required to run the change for the given database.
 String getAssociatedWith()
           
 String getCatalogName()
           
 Boolean getClustered()
           
 List<AddColumnConfig> getColumns()
          Return all the ColumnConfig objects defined for this Change
 String getConfirmationMessage()
          Confirmation message to be displayed after the change is executed.
 String getIndexName()
           
 String getSchemaName()
           
 Object getSerializableFieldValue(String field)
           
 String getSerializedObjectNamespace()
           
 String getTableName()
           
 String getTablespace()
           
 Boolean isUnique()
           
 void setAssociatedWith(String associatedWith)
           
 void setCatalogName(String catalogName)
           
 void setClustered(Boolean clustered)
           
 void setColumns(List<AddColumnConfig> columns)
           
 void setIndexName(String indexName)
           
 void setSchemaName(String schemaName)
           
 void setTableName(String tableName)
           
 void setTablespace(String tablespace)
           
 void setUnique(Boolean isUnique)
           
 
Methods inherited from class liquibase.change.AbstractChange
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateCheckSum, generateRollbackStatements, generateRollbackStatementsVolatile, generateStatementsVolatile, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, 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

CreateIndexChange

public CreateIndexChange()
Method Detail

getIndexName

public String getIndexName()

setIndexName

public void setIndexName(String indexName)

getSchemaName

public String getSchemaName()

setSchemaName

public void setSchemaName(String schemaName)

getTableName

public String getTableName()

setTableName

public void setTableName(String tableName)

getColumns

public List<AddColumnConfig> getColumns()
Description copied from interface: ChangeWithColumns
Return all the ColumnConfig objects defined for this Change

Specified by:
getColumns in interface ChangeWithColumns<AddColumnConfig>

setColumns

public void setColumns(List<AddColumnConfig> columns)
Specified by:
setColumns in interface ChangeWithColumns<AddColumnConfig>

addColumn

public void addColumn(AddColumnConfig column)
Description copied from interface: ChangeWithColumns
Add a column configuration to the Change.

Specified by:
addColumn in interface ChangeWithColumns<AddColumnConfig>

getTablespace

public String getTablespace()

setTablespace

public void setTablespace(String tablespace)

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

Specified by:
generateStatements in interface Change

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.

Specified by:
getConfirmationMessage in interface Change

setUnique

public void setUnique(Boolean isUnique)
Parameters:
isUnique - the isUnique to set

isUnique

public Boolean isUnique()

getAssociatedWith

public String getAssociatedWith()
Returns:
Index associations. Valid values:
  • primaryKey
  • foreignKey
  • uniqueConstraint
  • none

  • setAssociatedWith

    public void setAssociatedWith(String associatedWith)

    getCatalogName

    public String getCatalogName()

    setCatalogName

    public void setCatalogName(String catalogName)

    getClustered

    public Boolean getClustered()

    setClustered

    public void setClustered(Boolean clustered)

    getSerializedObjectNamespace

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

    getSerializableFieldValue

    public Object getSerializableFieldValue(String field)
    Specified by:
    getSerializableFieldValue in interface LiquibaseSerializable
    Overrides:
    getSerializableFieldValue in class AbstractChange


    Copyright © 2016 Liquibase.org. All rights reserved.