The executeCommand Change Type executes a system command.

Note: Using Liquibase commands such as migrateSQL may not work as expected because the executeCommand Change Type doesn't generate SQL. To resolve this, use Change Types that generate SQL.


You can typically use the executeCommand Change Type to run a script using a specific executable. One reason to use executeCommand is to insert or update data.

Running the executeCommand Change Type

To execute a system command, follow these steps:

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

Available attributes

Name Description Required for Supports
executable The name of the executable to run all all
os The list of operating systems on which to execute the command (taken from the os.name Java system property) all
timeout The timeout value for executable to run all

Nested tags

Name Description Required for Supports Multiple allowed
args / arg Arguments for the executable all yes

Nested property attributes

Name Description Required for Supports Multiple allowed
value The value of the attribute (for example: '-param')    

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 Supported No
SQL Server Supported No
SQLite Supported No
Sybase Supported No
Sybase Anywhere Supported No