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:

  1. Add the Change Type to your changeset, as shown in the examples on this page.

  2. Specify any required attributes. Use the table on this page to see which ones your database requires.

  3. 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 true if the constraint has ENABLE VALIDATE set, or false if the constraint has ENABLE NOVALIDATE set.

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

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

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;