addCheckConstraint
Note: This is a Liquibase Pro Change Type, so you need a Liquibase Pro License Key to use it.
Adds a check constraint to an existing column or set of columns in a table.
Run addCheckConstraint
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 | |
constraintBody
|
The constraint SQL |
all | all | |
constraintName
|
Name of the constraint |
all | all | |
disabled
|
Boolean. Specifies whether the constraint is disabled. |
all | ||
schemaName
|
Name of the schema |
all | ||
tableName
|
Name of the table to create the check constraint on |
all | all | |
validate
|
Set to |
all |
Examples
--liquibase formatted sql
--changeset liquibase-docs:addCheckConstraint-example
ALTER TABLE cat.[public].person ADD CONSTRAINT const_name CHECK (A String);
ALTER TABLE cat.[public].person NOCHECK CONSTRAINT const_name;
databaseChangeLog:
- changeSet:
id: addCheckConstraint-example
author: liquibase-docs
changes:
- addCheckConstraint:
catalogName: cat
constraintBody: A String
constraintName: const_name
disabled: true
schemaName: public
tableName: person
validate: true
{
"databaseChangeLog": [
{
"changeSet": {
"id": "addCheckConstraint-example",
"author": "liquibase-docs",
"changes": [
{
"addCheckConstraint": {
"catalogName": "cat",
"constraintBody": "A String",
"constraintName": "const_name",
"disabled": true,
"schemaName": "public",
"tableName": "person",
"validate": true
}
}
]
}
}
]
}
<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="addCheckConstraint-example">
<pro:addCheckConstraint catalogName="cat"
constraintName="const_name"
disabled="true"
schemaName="public"
tableName="person"
validate="true">A String</pro:addCheckConstraint>
</changeSet>
</databaseChangeLog>
Database support
Database | Notes | Auto Rollback |
---|---|---|
DB2/LUW | Supported | Yes |
DB2/z | Supported | Yes |
Derby | Not Supported | No |
Firebird | Not Supported | No |
Google BigQuery | Supported | Yes |
H2 | Not Supported | No |
HyperSQL | Not Supported | No |
INGRES | Not Supported | No |
Informix | Not Supported | No |
MariaDB | Not Supported | No |
MySQL 5.7 | Not Supported | No |
MySQL 8.0 | Supported | Yes |
Oracle | Supported | Yes |
PostgreSQL | Supported | Yes |
Snowflake | Not Supported | No |
SQL Server | Supported | Yes |
SQLite | Not Supported | No |
Sybase | Not Supported | No |
Sybase Anywhere | Not Supported | No |