Top Description Fields Constructors Methods
liquibase.change.core

public Class CreateTableChange

extends AbstractChange
implements ChangeWithColumns<ColumnConfig>
Class Inheritance
All Implemented Interfaces
liquibase.change.ChangeWithColumns
Annotations
@DatabaseChange
name:createTable
description:Creates a table
priority:1
Static Imports
liquibase.statement.SqlStatement.EMPTY_SQL_STATEMENT

Creates a new table.

Field Summary

Modifier and TypeField and Description
private String
private List<ColumnConfig>
private Boolean
private String
private String
private String
private String
private String
Inherited from liquibase.change.AbstractChange:
NODENAME_COLUMN

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addColumn(ColumnConfig column)

Implements liquibase.change.ChangeWithColumns.addColumn.

Add a column configuration to the Change.

public ChangeStatus
checkStatus(Database database)

Overrides liquibase.change.AbstractChange.checkStatus.

Implements liquibase.change.Change.checkStatus.

Validate that this change executed successfully against the given database.

protected Change[]
createInverses()

Overrides liquibase.change.AbstractChange.createInverses.

Create inverse changes that can roll back this change.

protected CreateTableStatement
public SqlStatement[]
generateStatements(Database database)

Implements liquibase.change.Change.generateStatements.

Generates the SqlStatement objects required to run the change for the given database.

public String
public List<ColumnConfig>
getColumns()

Implements liquibase.change.ChangeWithColumns.getColumns.

Return all the ColumnConfig objects defined for this Change

public String
getConfirmationMessage()

Implements liquibase.change.Change.getConfirmationMessage.

Confirmation message to be displayed after the change is executed.

public String[]
public Boolean
public String
public String
public String
public String
public String
public String
public void
setCatalogName(String catalogName)

public void
public void
setIfNotExists(Boolean ifNotExists)

public void
setRemarks(String remarks)

public void
setSchemaName(String schemaName)

public void
setTableName(String tableName)

public void
setTablespace(String tablespace)

public void
setTableType(String tableType)

public ValidationErrors
validate(Database database)

Overrides liquibase.change.AbstractChange.validate.

Implements liquibase.change.Change.validate.

Implementation checks the ChangeParameterMetaData for declared required fields and also delegates logic to the liquibase.sqlgenerator.SqlGenerator#validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by generateStatements.

Inherited from liquibase.change.AbstractChange:
createChangeMetaDatacreateChangeParameterMetadatacreateDescriptionMetaDatacreateEmptyColumnConfigcreateExampleValueMetaDatacreateMustEqualExistingMetaDatacreateRequiredDatabasesMetaDatacreateSerializationTypeMetaDatacreateSinceMetaDatacreateSupportedDatabasesMetaDatacustomLoadLogicequalsfinishInitializationgenerateCheckSumgenerateRollbackStatementsgenerateRollbackStatementsVolatilegenerateStatementsVolatilegetAffectedDatabaseObjectsgetChangeSetgetDescriptiongetResourceAccessorgetSerializableFieldNamespacegetSerializableFieldsgetSerializableFieldTypegetSerializableFieldValuegetSerializedObjectNamehashCodeisInvalidPropertyloadmodifyserializeserializeValuesetChangeSetsetResourceAccessorshouldExecuteChangesupportssupportsRollbacktoStringwarn

Field Detail

catalogNameback to summary
private String catalogName
columnsback to summary
private List<ColumnConfig> columns
ifNotExistsback to summary
private Boolean ifNotExists
remarksback to summary
private String remarks
schemaNameback to summary
private String schemaName
tableNameback to summary
private String tableName
tablespaceback to summary
private String tablespace
tableTypeback to summary
private String tableType

Constructor Detail

CreateTableChangeback to summary
public CreateTableChange()

Method Detail

addColumnback to summary
public void addColumn(ColumnConfig column)

Implements liquibase.change.ChangeWithColumns.addColumn.

Doc from liquibase.change.ChangeWithColumns.addColumn.

Add a column configuration to the Change.

Annotations
@Override
checkStatusback to summary
public ChangeStatus checkStatus(Database database)

Overrides liquibase.change.AbstractChange.checkStatus.

Implements liquibase.change.Change.checkStatus.

Doc from liquibase.change.Change.checkStatus.

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.

Annotations
@Override
createInversesback to summary
protected Change[] createInverses()

Overrides liquibase.change.AbstractChange.createInverses.

Doc from liquibase.change.AbstractChange.createInverses.

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 generateRollbackStatements(liquibase.database.Database) is overridden, this method may not be called.

Returns:Change[]

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.

Annotations
@Override
generateCreateTableStatementback to summary
protected CreateTableStatement generateCreateTableStatement()
generateStatementsback to summary
public SqlStatement[] generateStatements(Database database)

Implements liquibase.change.Change.generateStatements.

Doc from liquibase.change.Change.generateStatements.

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 generateStatementsVolatile.
Annotations
@Override
getCatalogNameback to summary
public String getCatalogName()
Annotations
@DatabaseChangeProperty
since:3.0
description:Name of the database catalog
getColumnsback to summary
public List<ColumnConfig> getColumns()

Implements liquibase.change.ChangeWithColumns.getColumns.

Doc from liquibase.change.ChangeWithColumns.getColumns.

Return all the ColumnConfig objects defined for this Change

Annotations
@Override
@DatabaseChangeProperty
requiredForDatabase:all
description:Column definitions
getConfirmationMessageback to summary
public String getConfirmationMessage()

Implements liquibase.change.Change.getConfirmationMessage.

Doc from liquibase.change.Change.getConfirmationMessage.

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.

Annotations
@Override
getExcludedFieldFiltersback to summary
public String[] getExcludedFieldFilters(ChecksumVersion version)

Overrides liquibase.change.AbstractChange.getExcludedFieldFilters.

Annotations
@Override
getIfNotExistsback to summary
public Boolean getIfNotExists()
Annotations
@DatabaseChangeProperty
description:If true, creates the table only if it does not already exist. Appends IF NOT EXISTS syntax to SQL query
getRemarksback to summary
public String getRemarks()
Annotations
@DatabaseChangeProperty
description:A brief descriptive comment to store in the table metadata
getSchemaNameback to summary
public String getSchemaName()
Annotations
@DatabaseChangeProperty
description:Name of the database schema
getSerializedObjectNamespaceback to summary
public String getSerializedObjectNamespace()

Overrides liquibase.change.AbstractChange.getSerializedObjectNamespace.

Implements liquibase.serializer.LiquibaseSerializable.getSerializedObjectNamespace.

Annotations
@Override
getTableNameback to summary
public String getTableName()
Annotations
@DatabaseChangeProperty
description:Name of the table to create
getTablespaceback to summary
public String getTablespace()
Annotations
@DatabaseChangeProperty
description:Tablespace to create the table in. Corresponds to file group in mssql
getTableTypeback to summary
public String getTableType()
Annotations
@DatabaseChangeProperty
description:In some databases, specifies the type of the table (column-based, row-based...)
setCatalogNameback to summary
public void setCatalogName(String catalogName)
setColumnsback to summary
public void setColumns(List<ColumnConfig> columns)

Implements liquibase.change.ChangeWithColumns.setColumns.

Annotations
@Override
setIfNotExistsback to summary
public void setIfNotExists(Boolean ifNotExists)
setRemarksback to summary
public void setRemarks(String remarks)
setSchemaNameback to summary
public void setSchemaName(String schemaName)
setTableNameback to summary
public void setTableName(String tableName)
setTablespaceback to summary
public void setTablespace(String tablespace)
setTableTypeback to summary
public void setTableType(String tableType)
validateback to summary
public ValidationErrors validate(Database database)

Overrides liquibase.change.AbstractChange.validate.

Implements liquibase.change.Change.validate.

Doc from liquibase.change.AbstractChange.validate.

Implementation checks the ChangeParameterMetaData for declared required fields and also delegates logic to the liquibase.sqlgenerator.SqlGenerator#validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by generateStatements. If no or null SqlStatements are returned by generateStatements then this method returns no errors. If there are no parameters than this method returns no errors

Annotations
@Override