createTrigger

Note: This is a Liquibase Pro Change Type, so you need a Liquibase Pro License Key to use it.

The createTrigger Change Type creates the trigger in a database.

Uses

You can typically use the createTrigger Change Type when you want to add a trigger to the table which will be automatically activated when a specific event occurs in your database. It can include catalog, schema, and table name attributes listed in this documentation.

Running the createTrigger Change Type

To create a trigger in your database, follow these steps:

  1. Add the createTrigger Change Type to your changeset with the needed attributes as it is shown in the examples.
  2. Deploy your changeset by running the update command:
  3. liquibase update

Now, you should see that the trigger you've specified is added.

Available attributes

Name Description Required for Supports Since
catalogName

Name of the catalog

asany, db2, db2z, derby, firebird, h2, hsqldb, informix, ingres, mariadb, mysql, oracle, postgresql, sqlite, sybase
dbms

Specifies which database type(s) a changeset is to be used for. See valid database type names on Liquibase Database Tutorials. Separate multiple databases with commas. Specify that a changeset is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.

all 3.1
disabled Specifies whether the trigger is disabled. all
encoding

Encoding used in the file defined in the path attribute

all
path

File containing the procedure text. Either this attribute or a nested procedure text is required.

all all
procedureText

The SQL creating the procedure. You need to define either this attribute or the path attribute. The procedureText attribute is not supported in the XML format; however, you can specify the procedure SQL in a nested format. See the XML example.

all all
relativeToChangelogFile

Specifies whether the file path is relative to the changelog file rather than looked up in the search path. Default: false.

all
replaceIfExists

Boolean. If the stored procedure defined by procedureName already exists, alter it instead of creating it. Default: false.

mariadb, mssql, mysql
schemaName

Name of the schema

all
scope

Name of the module for a trigger

all
tableName

Name of the table

all
triggerBody

The trigger SQL

all all
triggerName

Name of the trigger

all all

Database support

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