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 |
| Name of the catalog | all | 3.0 | |
| The constraint SQL | all | all | |
| Name of the constraint | all | all | |
| Boolean. Specifies whether the constraint is disabled. | all | ||
| Name of the schema | all | ||
| Name of the table to create the check constraint on | all | all | |
| Set to | all |
Note: If you are using MySQL or MariaDB, there is no equivalent for NOCHECK
, which disables data verification for new constraints. As a workaround, you can temporarily disable foreign key checks with SET FOREIGN_KEY_CHECKS = 0;
Database support
Database | Notes | |
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 |
Examples
Note: If you are using MySQL or MariaDB, there is no equivalent for NOCHECK
, which disables data verification for new constraints. As a workaround, you can temporarily disable foreign key checks with SET FOREIGN_KEY_CHECKS = 0;
--liquibase formatted sql
--changeset liquibase-docs:addCheckConstraint-example
ALTER TABLE your_table_name ADD CONSTRAINT constraint_name CHECK (A String);
ALTER TABLE your_table_name CONSTRAINT constraint_name;
MSSQL example
--liquibase formatted sql
--changeset liquibase-docs:addCheckConstraint-example
ALTER TABLE your_table_name ADD CONSTRAINT constraint_name CHECK (A String);
ALTER TABLE your_table_name NOCHECK CONSTRAINT constraint_name;
Oracle Example
--liquibase formatted sql
--changeset liquibase-docs:addCheckConstraint-example
ALTER TABLE your_table_name ADD CONSTRAINT constraint_name CHECK (A String);
ALTER TABLE your_table_name ENABLE NOVALIDATE CONSTRAINT constraint_name;
PostgreSQL Example
--liquibase formatted sql
--changeset liquibase-docs:addCheckConstraint-example
ALTER TABLE cat.[public].person ADD CONSTRAINT const_name CHECK (A String) NOT VALID;
ALTER TABLE cat.[public].person CONSTRAINT const_name;