- Reference
- Version · 4.33
- Reference guide
modifyChangeSets
Last updated: August 21, 2026
The modifyChangeSets tag lets you apply shared settings, such as runWith, failOnError, endDelimiter, and stripComments, to every changeset you reference with include or includeAll, instead of setting them on each changeset individually. One common use is specifying a native executor (PSQL, SQL Plus, or SQLCMD) with runWith instead of the JDBC default. This lets you include raw SQL scripts in your changelog without first converting them into formatted SQL changelogs. Available in Liquibase 4.18.0+
Uses
If you have many changesets that need to be run with a native executor, and you organize your changelogs in a "root" and "nested" format using the include and includeAll tags, you can use the runWith attribute (PSQL, SQLPlus, or SQLCMD) to specify an executor that applies to every changeset in every file wrapped in the modifyChangeSets tag. Since your nested changelogs inherit the executor specified in modifyChangeSets, you don't have to specify it on each individual changeset you include.
If you want to make an exception for a particular changeset you're including, you can specify the default Liquibase JDBC executor for that changeset. All other changesets still run with the executor inherited from modifyChangeSets.
You can still include additional files in your root changelog outside of the modifyChangeSets tag. These files run with the Liquibase JDBC executor.
Run modifyChangeSets
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
updatecommand:liquibase update
Syntax
Attributes
Attribute | Type | Description | Support |
| String | Specifies which executor to run the changeset with. Options: | JdbcExecutor, MongoDB, PostgreSQL, Oracle, MSSQL, and custom executors. Default: |
| Boolean | Determines whether to fail the entire operation when a changeset encounters an error. When set to Note: You can set | Only available to Liquibase Secure users. |
| String | Specifies delimiter to apply to the end of the statement. Your delimiter string can be a combination of one or more letters, symbols, and/or numbers, or the empty string ( It is a best practice not to use In Liquibase 4.25.1 and later, you can use
1. 2.
| all |
| Boolean | When In Liquibase 4.31.0 and later, you can use
| all |
Nested tags
Name | Description | Required for | Supports |
| Includes the specified changelog | none | all |
| Includes the specified directory of changelogs | none | all |