dropColumn
The dropColumn
Change Type drops existing columns.
To drop a single column, use the simple form of this element where the tableName
and columnName
are specified as attributes.
To drop several columns, specify the tableName
as an attribute, and then specify a set of nested <column>
tags. If nested <column>
tags are present, the columnName
attribute will be ignored. Alternatively, you can use separate dropColumn
statements to drop more than one column.
Run dropColumn
To run this Change Type, follow these steps:
- Add the Change Type to your changeset, as shown in the examples on this page.
- Specify any required attributes. Use the table on this page to see which ones your database requires.
- Deploy your changeset by running the
update
command:
liquibase update
Available attributes
Name | Description | Required for | Supports | Since |
---|---|---|---|---|
catalogName
|
Name of the catalog |
all | 3.0 | |
columnName
|
Name of the column to drop, if dropping a single column. Ignored if nested columns are defined | all | ||
schemaName
|
Name of the schema |
all | ||
tableName
|
Name of the table containing the column to drop | all | all |
Nested tags
Name | Description | Required for | Supports | Multiple allowed |
---|---|---|---|---|
column
|
Columns to be dropped if dropping multiple columns. If this is populated, the Note: YAML and JSON changelogs using the |
all | yes |
Examples
--liquibase formatted sql
--changeset liquibase-docs:dropColumn-example
ALTER TABLE cat.person DROP COLUMN address;
databaseChangeLog:
- changeSet:
id: dropColumn-example
author: liquibase-docs
changes:
- dropColumn:
catalogName: cat
columnName: id
columns:
- column:
name: address
schemaName: public
tableName: person
{
"databaseChangeLog": [
{
"changeSet": {
"id": "dropColumn-example",
"author": "liquibase-docs",
"changes": [
{
"dropColumn": {
"catalogName": "cat",
"columnName": "id",
"columns": [
{
"column": {
"name": "address"
}
}
],
"schemaName": "public",
"tableName": "person"
}
}
]
}
}
]
}
<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="dropColumn-example">
<dropColumn catalogName="cat"
columnName="id"
schemaName="public"
tableName="person">
<column name="address1"/>
</dropColumn>
<dropColumn catalogName="cat"
columnName="id"
schemaName="public"
tableName="person">
<column name="address2"/>
</dropColumn>
</changeSet>
</databaseChangeLog>
Database support
Database | Notes | Auto Rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | Not Supported | No |
Derby | Supported | No |
Firebird | Supported | No |
Google BigQuery | Supported | No |
H2 | Supported | No |
HyperSQL | Supported | No |
INGRES | Supported | No |
Informix | Supported | No |
MariaDB | Supported | No |
MySQL | Supported | No |
Oracle | Supported | No |
PostgreSQL | Supported | No |
Snowflake | Supported | No |
SQL Server | Supported | No |
SQLite | Supported | No |
Sybase | Supported | No |
Sybase Anywhere | Supported | No |