CheckRunInTransactionValue
Last updated: January 22, 2026
Validates the runInTransaction attribute to enforce whether changesets must run inside or outside of transactions, ensuring operations that require transactional safety are properly wrapped while certain DDL statements in some databases that can't run in transactions are appropriately configured.
Note: Changesets without a runInTransaction value are not checked.
Uses
Property | Value |
Liquibase version required | 4.27.0+ |
Scope (--checks-scope) | changelog |
Default status | enabled |
Default severity (exit code) | 0 ("INFO") |
Customizable settings | Yes (dynamic) |
If true, runInTransaction attempts to deploy changes in a single atomic transaction, which can reduce the possibility of incomplete deployments. If you rely on runInTransaction to deploy your changesets all together, this check can prevent you from accidentally deploying changesets individually.
If Liquibase detects that your changesets violate the policy you configure with this check, it outputs a message and reacts according to the severity level you specify for the check.
Before you begin
Ensure that you have correctly specified your Liquibase Secure license key.
Ensure that the
--checks-scopeparameter includes the scope of this check.
Changelog checks prerequisites
Procedure
Enable
This check is enabled by default. To verify that it is currently enabled, run the checks show command:
liquibase checks show --check-name=<string>
Customize
This check is dynamic, meaning you can customize its settings. See the table on this page for more information.
1. Once you've enabled the check, follow the steps in the CLI to set new values.
Default values are shown in [brackets]. You can use these by pressing Enter. Alternatively, specify custom values. If a customization setting does not have a default value, you must specify custom values.
2. When finished, verify that your configuration is correct by running the checks show command.
liquibase checks show --check-name=<string>
3. If you need to make any other changes, run the checks customize command:
liquibase checks customize --check-name=<string>
Note: If you want to create another variant of this check with different settings, use the checks copy command to create a copy of the original check and then use the checks customize command to customize it.
Run
To run the check, use the checks run command.
Customization settings
Name | Type | Description | Customization | Default Value |
| String | The output printed when the check detects a pattern match | Any string. All characters are allowed. |
|
| String | Value of | Must be |
|
Example output
Check 'ChangesetAttributesSetTrueOrFalse' has been enabled. +-------------------------------------+------------+----------+----------+--------------------------------+--------------------------------+ | Short Name | Scope | Status | Severity | Customization | Description | +-------------------------------------+------------+----------+----------+--------------------------------+--------------------------------+ | ChangesetAttributesSetTrueOrFalse | changelog | disabled | 0 | ATTRIBUTE = null | This check triggers when | | | | | | SEARCH_STRING = null | specified attributes do not | | | | | | | match TRUE or FALSE, as | | | | | | | configured by the user. | +-------------------------------------+------------+----------+----------+--------------------------------+--------------------------------+ Liquibase command 'checks enable' was executed successfully.