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 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
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
|
Name of the catalog |
all | ||
constraintName
|
Name of the constraint (primary key) to drop | firebird, informix, sybase | all except bigquery | |
dropIndex
|
Boolean: whether to drop the index associated with the primary key. |
all | ||
schemaName
|
Name of the schema |
all | ||
tableName
|
Name of the table from which you drop the primary key. | all | all |
Examples
--liquibase formatted sql
--changeset liquibase-docs:dropPrimaryKey-example
ALTER TABLE department.person DROP PRIMARY KEY;
databaseChangeLog:
- changeSet:
id: dropPrimaryKey-example
author: liquibase-docs
changes:
- dropPrimaryKey:
constraintName: const_name
dropIndex: true
schemaName: public
tableName: person
{
"databaseChangeLog": [
{
"databaseChangeLog": [
{
"changeSet": {
"id": "dropPrimaryKey-example",
"author": "liquibase-docs",
"changes": [
{
"dropPrimaryKey": {
"constraintName": "const_name",
"dropIndex": true,
"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="dropPrimaryKey-example">
<dropPrimaryKey constraintName="const_name"
dropIndex="true"
schemaName="public"
tableName="person"/>
</changeSet>
</databaseChangeLog>
Database support
Database | Notes | Auto Rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | 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 | Not Supported | No |
Sybase | Supported | No |
Sybase Anywhere | Supported | No |