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 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
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 |
all | 3.1 | |
disabled
|
Specifies whether the trigger is disabled. | all | ||
encoding
|
Encoding used in the file specified in the |
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 |
all | all | |
relativeToChangelogFile
|
Specifies whether the file path is relative to the changelog file rather than looked up in the search path. Default: |
all | ||
replaceIfExists
|
Boolean. If the stored procedure defined by |
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 |
Examples
databaseChangeLog:
- changeSet:
id: createTrigger-example
author: liquibase-docs
changes:
- createTrigger:
catalogName: cat
dbms: h2, !oracle, mysql
disabled: true
encoding: UTF-8
path: com/example/my-logic.sql
relativeToChangelogFile: true
replaceIfExists: false
schemaName: public
scope: A String
tableName: person
triggerBody: A String
triggerName: A String
{
"databaseChangeLog": [
{
"changeSet": {
"id": "createTrigger-example",
"author": "liquibase-docs",
"changes": [
{
"createTrigger": {
"catalogName": "cat",
"dbms": "h2, !oracle, mysql",
"disabled": true,
"encoding": "UTF-8",
"path": "com/example/my-logic.sql",
"relativeToChangelogFile": true,
"replaceIfExists": false,
"schemaName": "public",
"scope": "A String",
"tableName": "person",
"triggerBody": "A String",
"triggerName": "A String"
}
}
]
}
}
]
}
<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="createTrigger-example">
<pro:createTrigger catalogName="cat"
dbms="h2, !oracle, mysql"
disabled="true"
encoding="UTF-8"
path="com/example/my-logic.sql"
relativeToChangelogFile="true"
replaceIfExists="false"
schemaName="public"
scope="A String"
tableName="person"
triggerName="A String">A String</pro:createTrigger>
</changeSet>
</databaseChangeLog>
Database support
Database | Notes | Auto Rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | Supported | No |
Derby | Supported | No |
Firebird | Supported | No |
Google BigQuery | 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 |