Tip: The following documentation describes the use of native executors for applications that rely on complex SQL which cannot easily be deployed over JDBC. This complex SQL needs to be deployed over a platform command-line tool.
Using Liquibase to track database changes in SQL, XML, JSON, or YAML changelogs is usually processed over traditional JDBC connections. However, there might be times when the JDBC connection (or executor) cannot process highly specialized SQL, and you might want to use a different executor.
Tip: All changeset attributes use the
The changeset attribute
runWith="<executor>" specifies a custom executor to run your SQL. The
runWith="<executor>" capability works with the following changelogs:
- Formatted SQL changelogs.
- XML, JSON, and YAML changelogs that include inline SQL or
sqlFiletagged changesets. For more information, see sql and sqlFile.
- Liquibase Pro: XML, JSON, and YAML changelogs that use the modifyChangeSets attribute with include or includeAll to import nested changelogs. This sets an overarching executor for multiple changelogs, with the option of overriding that default for specific changesets.
For Liquibase Pro users, PSQL, SQL Plus, and SQLCMD integrations are built in:
- Using the PSQL integration and runWith attribute with Liquibase Pro and PostgreSQL
- Using the SQL Plus integration and runWith attribute with Liquibase Pro and Oracle
- Using the SQLCMD integration and runWith attribute with Liquibase Pro and MSSQL Server
liquibase.sqlcmd.conffiles, which are the configuration files to pass arguments to your executor when running Liquibase Pro. In this file, you can specify key-value pairs for configuring the executor.