• Concept
  • Version · 5.2.2
  • User guide

What are preconditions?

Last updated: August 21, 2026

Uses

Syntax

Example changelogs with preconditions

Changelog syntax

loading

loading

loading

loading

Multiple preconditions

Changelog syntax for multiple preconditions

loading

loading

loading

Handling failures and errors

Available attributes

onFail/onError precondition values

onSqlOutput/onUpdateSql values

Using preconditions with modifyChangeSets

Example failure on a changelog
Unexpected error running Liquibase: Validation Failed:
1 preconditions failed
myChangelog.xml : DBMS Precondition failed: expected oracle, got postgresql
Example error on a changelog
loading
Example warning on a changelog
loading

customPrecondition syntax

loading

loading

loading

Available preconditions

changeLogPropertyDefined

changeLogPropertyDefined syntax

loading

loading

loading

changeSetExecuted

changeSetExecuted syntax

loading

loading

loading

columnExists

columnExists syntax

loading

loading

loading

dbms

dbms syntax

loading

loading

loading

expectedQuotingStrategy

expectedQuotingStrategy syntax

loading

loading

loading

foreignKeyConstraintExists

foreignKeyConstraintExists syntax

loading

loading

loading

indexExists

indexExists syntax

loading

loading

loading

primaryKeyExists

primaryKeyExists syntax

loading

loading

loading

rowCount

rowCount syntax

loading

loading

loading

runningAs

runningAs syntax

loading

loading

loading

sequenceExists

sequenceExists syntax

loading

loading

loading

sqlCheck

sqlCheck syntax

loading

loading

loading

loading

tableExists

tableExists syntax

loading

loading

loading

tableIsEmpty

tableIsEmpty syntax

loading

loading

loading

uniqueConstraintExists

uniqueConstraintExists syntax

loading

loading

loading

viewExists

viewExists syntax

loading

loading

customPrecondition

<param> sub-tag