dropNotNullConstraint

Makes a column nullable.

Run dropNotNullConstraint

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
columnDataType

Data type of the column.

To help make scripts database-independent, Liquibase automatically converts the following generic data types to the correct database implementation: BIGINT, BLOB, BOOLEAN, CHAR, CLOB, CURRENCY, DATE, DATETIME, DECIMAL, DOUBLE, FLOAT, INT, MEDIUMINT, NCHAR, NUMBER, NVARCHAR, SMALLINT, TIME, TIMESTAMP, TINYINT, UUID, VARCHAR, XML.

Also, specifying a java.sql.Types.* type is converted to the correct type as well. For example:

  • java.sql.Types.TIMESTAMP
  • java.sql.Types.VARCHAR(255)

For Snowflake, Liquibase also implements BINARY, TIME, and TIMESTAMP_NTZ. For Databricks, Liquibase also implements ARRAY<INT> and ARRAY<STRING>.

Note: To specify a complex Databricks type like ARRAY<STRING> in an XML changelog, you must specify the escape sequences &lt; and &gt; rather than < and >. See createTable.

For more information, see Liquibase Data Type Handling.

informix, mariadb, mssql, mysql all
columnName Name of the column to drop the constraint from all all
constraintName Name of the constraint to drop (if database supports names for NOT NULL constraints) -- -- --
schemaName

Name of the schema

all
tableName Name of the table containing the column to drop the constraint from all all

Examples

--liquibase formatted sql

--changeset liquibase-docs:dropNotNullConstraint-example
ALTER  TABLE  cat.person  MODIFY  id  INT  NULL;
databaseChangeLog:
-  changeSet:
    id:  dropNotNullConstraint-example
    author:  liquibase-docs
    changes:
    -  dropNotNullConstraint:
        catalogName:  cat
        columnDataType:  int
        columnName:  id
        constraintName:  example
        schemaName:  public
        tableName:  person
{
    "databaseChangeLog": [
        {
            "changeSet": {
                "id": "dropNotNullConstraint-example",
                "author": "liquibase-docs",
                "changes": [
                    {
                        "dropNotNullConstraint": {
                            "catalogName": "cat",
                            "columnDataType": "int",
                            "columnName": "id",
                            "constraintName": "example",
                            "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="dropNotNullConstraint-example">
        <dropNotNullConstraint  catalogName="cat"
            columnDataType="int"
            columnName="id"
            constraintName="example"
            schemaName="public"
            tableName="person"/>
    </changeSet>

</databaseChangeLog>

Database support

Database Notes Auto Rollback
DB2/LUW Supported Yes
DB2/z Not Supported No
Derby Supported Yes
Firebird Not Supported No
Google BigQuery Supported Yes
H2 Supported Yes
HyperSQL Supported Yes
INGRES Supported Yes
Informix Supported Yes
MariaDB Supported Yes
MySQL Supported Yes
Oracle Supported Yes
PostgreSQL Supported Yes
Snowflake Supported Yes
SQL Server Supported Yes
SQLite Not Supported No
Sybase Supported Yes
Sybase Anywhere Supported Yes