search-path is a global argument that specifies a complete list of location(s) to search for files like changelogs. You can specify multiple paths by separating them with commas.
search-path is only used to read files and does not specify files to write to. It is available in Liquibase 4.13+. For more information, see How Liquibase Finds Files: Liquibase Search Path.
Liquibase uses the paths to files as part of changeset identifiers. It is important for these paths to remain consistent and stable, because they are often included in shared changelog files, even when the physical location of those files may change from machine to machine. The search path is the list of base physical locations where given changelog paths can be found. For each file to look up, Liquibase will check all those locations for the file.
For example, if your referenced file path is
db.changelog.xml and your search path is
/Users/example/liquibase,/projects/global, Liquibase will look for
You can also use
search-path to specify how to find files stored remotely on Amazon AWS S3. For more information, see Use search-path with S3.
You can set this parameter in the following ways:
|Liquibase properties file||
|Global flow file argument (example)||
|Global CLI parameter||
JVM system property (JAVA_OPTS Environment Variable)
|Liquibase Environment Variables||
For more information, see Working with Command Parameters.
Tip: If you use Maven, Ant, Spring Boot, or other integrations, you can set your search path in the default files, such as
application.yml, and others. Check the Tools & Integrations documentation for more information.