renameColumn

Renames an existing column.

Available attributes

Name Description Required for Supports Since
catalogName

Name of the catalog

all 3.0
columnDataType

Data type of the column.

To help make scripts database-independent, Liquibase automatically converts the following generic data types to the correct database implementation: BIGINT, BLOB, BOOLEAN, CHAR, CLOB, CURRENCY, DATE, DATETIME, DECIMAL, DOUBLE, FLOAT, INT, MEDIUMINT, NCHAR, NUMBER, NVARCHAR, SMALLINT, TIME, TIMESTAMP, TINYINT, UUID, VARCHAR, XML.

Also, specifying a java.sql.Types.* type is converted to the correct type as well. For example:

  • java.sql.Types.TIMESTAMP
  • java.sql.Types.VARCHAR(255)
mariadb, mysql all
newColumnName New name for the column all all
oldColumnName Existing name of the column to rename all all
remarks

A short descriptive comment

all
schemaName

Name of the schema

all
tableName Name of the table containing the column to rename all all

Examples

<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xmlns:pro="http://www.liquibase.org/xml/ns/pro"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
        http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
        http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd">

    <changeSet  author="liquibase-docs"  id="renameColumn-example">
        <renameColumn  catalogName="cat"
            columnDataType="int"
            newColumnName="full_name"
            oldColumnName="name"
            remarks="A String"
            schemaName="public"
            tableName="person"/>
    </changeSet>

</databaseChangeLog>
databaseChangeLog:
-  changeSet:
    id:  renameColumn-example
    author:  liquibase-docs
    changes:
    -  renameColumn:
        catalogName:  cat
        columnDataType:  int
        newColumnName:  full_name
        oldColumnName:  name
        remarks:  A String
        schemaName:  public
        tableName:  person
{
    "databaseChangeLog": [
        {
            "changeSet": {
                "id": "renameColumn-example",
                "author": "liquibase-docs",
                "changes": [
                    {
                        "renameColumn": {
                            "catalogName": "cat",
                            "columnDataType": "int",
                            "newColumnName": "full_name",
                            "oldColumnName": "name",
                            "remarks": "A String",
                            "schemaName": "public",
                            "tableName": "person"
                        }
                    }
                ]
            }
        }
    ]
}
--liquibase formatted sql

--changeset liquibase-docs:renameColumn-example
ALTER  TABLE  cat.person  CHANGE  name  full_name  INT  COMMENT  'A String';

Database support

Database Notes Auto Rollback
DB2/LUW Supported Yes
DB2/z Supported Yes
Derby Supported Yes
Firebird Supported Yes
H2 Supported Yes
HyperSQL Supported Yes
INGRES Supported Yes
Informix Supported Yes
MariaDB Supported Yes
MySQL Supported Yes
Oracle Supported Yes
PostgreSQL Supported Yes
Snowflake Supported Yes
SQL Server Supported Yes
SQLite Not Supported No
Sybase Supported Yes
Sybase Anywhere Supported Yes