dropPrimaryKey
The dropPrimaryKey
Change Type drops an existing primary key in the table.
Uses
You can typically use the dropPrimaryKey
Change Type when you want to remove a field that uniquely defines a record in your database. It can include tableName
and other attributes listed in this documentation.
Running the dropPrimaryKey
Change Type
To drop an existing primary key, follow these steps:
Step 1: Add the dropPrimaryKey
Change Type to your changeset with the needed attributes as it is shown in the examples.
Step 2: Deploy your changeset by running the update
command.
liquibase update
Now, you should see that the information indicating your primary key is removed from the table.
Available attributes
Name | Description | Required for | Supports | Since |
---|---|---|---|---|
catalogName | The name of the catalog. | all | ||
constraintName | The name of the primary key. | firebird, informix, sybase | all | |
dropIndex | The index to drop. | all | ||
schemaName | The name of the schema. | all | ||
tableName | The name of the table from which you drop the primary key. | all | all |

<changeSet author="liquibase-docs" id="dropPrimaryKey-example">
<dropPrimaryKey constraintName="const_name"
dropIndex="true"
schemaName="public"
tableName="person"/>
</changeSet>

changeSet:
id: dropPrimaryKey-example
author: liquibase-docs
changes:
- dropPrimaryKey:
constraintName: const_name
dropIndex: true
schemaName: public
tableName: person

{
"databaseChangeLog":[
{
"changeSet":{
"id":"dropPrimaryKey-example",
"author":"liquibase-docs",
"changes":[
{
"dropPrimaryKey":{
"constraintName":"const_name",
"dropIndex":true,
"schemaName":"public",
"tableName":"person"
}
}
]
}
}
]
}

-- changeset DocUser:1:dropPrimaryKeyChangeType
ALTER TABLE department.person DROP PRIMARY KEY;
Database support
Database | Notes | Auto rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | Supported | No |
Derby | Supported | No |
Firebird | 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 |
SQL Server | Supported | No |
SQLite | Not Supported | No |
Sybase | Supported | No |
Sybase Anywhere | Supported | No |