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:
  4. 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

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