Use the following options to pass Liquibase the parameters that are required to establish a connection with a database:
- Connection profiles
- Command-line arguments
- Environment variables
The following sections describe these options in more detail.
If you use the Liquibase Properties file to specify properties that you do not want to enter as command-line parameters, create a connection profile by specifying values for the following properties:
changelogFile– Path to the changelog file
liquibase.command.url– JDBC connection string
When you run a Liquibase command from within the project directory, actions are performed on the database specified by the profile properties.
If you intend to run Liquibase
diff commands between two databases, specify values for the following properties, as well:
referenceUrl– JDBC connection string for reference database
referenceUsername– User name for reference database
referencePassword– Password for reference database
Although connection profiles allow for the inclusion of user names and passwords, Liquibase recommends that you choose one of the following alternatives to manage authentication properties:
- Store them in a secure credential repository
- Enter them when running a command through the CLI
For more information about connection profiles and the Liquibase Properties file, see Create and Configure a liquibase.properties File.
If the Liquibase Properties file does not contain a valid connection profile, or if you need to override the configured properties, use the command prompt to pass connection properties to Liquibase as command line arguments.
For example, the following command passes authentication credentials and deploys changes to the database identified by the specified properties:
liquibase update --changelog-file=dbchangelog.xml --url=jdbc:oracle:thin:@localhost:1521:oracle --username=jay --password=tiger
For more information about connection properties and other Liquibase parameters, see Liquibase Parameters .
Liquibase also provides environment variables that pass sensitive data securely during automated processes.
The following examples pass values for a username, password, changelog file name, and JDBC driver URL, respectively:
For more information about Liquibase environment variables, see Liquibase Environment Variables. For more information about the Liquibase parameters to which they correspond, see Liquibase Parameters .