What is the liquibase.properties file?

You can use a defaults file called liquibase.properties to store information that Liquibase needs to connect to a particular database, along with other properties that rarely change. This lets you avoid entering properties through your command line, saving you time and reducing errors.

Arguments that are entered at a command prompt override values that are specified in liquibase.properties.

Ways to create a liquibase.properties file

Liquibase comes preinstalled with example liquibase.properties files in the $LIQUIBASE_HOME/examples/<sql|xml|yaml|json> directories. By default, when you run a command, Liquibase looks for the liquibase.properties file in the directory Liquibase is running in.

There are three ways to create a defaults file:

  • You can automatically generate a liquibase.properties file by running the init project command to create a new Liquibase project.

  • You can also manually create a new text file in your project Liquibase directory and name it liquibase.properties.

  • You can specify a custom name and location for your defaults file by using the --defaults-file parameter. For more information, see Working with Command Parameters.

Example defaults file

The following example liquibase.properties file works for an Oracle database:

changelogFile: ../path/to/file/dbchangelog.xml
driver: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@192.168.0.22:1521/orcl
referenceDriver: oracle.jdbc.OracleDriver
referenceUrl: jdbc:oracle:thin:@192.168.0.22:1521/orcl
licenseKey: aeioufakekey32aeioufakekey785463214
classpath: ../path/to/file/ojdbc6-11.2.0.3.0.jar

This example does not include authentication properties such as username, password, referenceUsername, and referencePassword. It is a best practice to include sensitive credentials in a Secrets Management tool like AWS Secrets Manager or HashiCorp Vault. These tools require a Liquibase Pro license key.

Tip: You do not need to specify a classpath for pre-installed drivers in the liquibase/internal/lib directory or for drivers you placed in the liquibase/lib directory. If placed your database's JDBC JAR file in a different directory, you must specify the path: classpath:../<path_to_drivers>/<db_jar_name>.jar.

Note: The Liquibase properties file does not support quoted property values, such as driver: "oracle.jdbc.OracleDriver". However, you can use quoted and unquoted values in the CLI.

You can see all properties that are available to be used with liquibase.properties in the Liquibase parameters.

What is the liquibase.properties file? - Liquibase