Upgrade Liquibase on Linux with Debian or Ubuntu

Last updated: November 18, 2025

Procedure

1

Open a terminal.

2

Update the package lists.

sud apt-get update
3

Upgrade Liquibase

sudo apt-get upgrade liquibase-secure

Liquibase has now been upgraded to the latest version available in the repository.

4

Apply your Liquibase Secure license key.

Using a Secrets Management tool like Hashicorp Vault or AWS Secrets Manager is best to keep Liquibase license keys secure.

There are several ways to apply the Liquibase Secure license key:

Include the Liquibase Secure license key in the Liquibase properties file and save it.

For example:

liquibase.licenseKey: aei76ou32thp785463214

Pass the Liquibase Secure license key as a parameter in the command line during runtime:

liquibase --license-key=[paste the Liquibase Secure license key] [command]

For example:

liquibase --license-key=aei76ou32thp785463214 update

Set the Liquibase Secure license key as an environment variable in the command line.

On Windows:

set LIQUIBASE_LICENSE_KEY=aei76ou32thp785463214

On Linux/macOS:

export LIQUIBASE_LICENSE_KEY=aei76ou32thp785463214

Set the Liquibase Secure license key with the JAVA_OPTS Environment Variable in the command line:

JAVA_OPTS="Dliquibase.licenseKey=<enter license key here>"

Pass the Liquibase Secure license key while using a Docker container. Docker allows the use of --env in the command.

docker run --env LIQUIBASE_LICENSE_KEY=<enter license key here>... \ -it liquibase/liquibase-secure:latest sh

If you use Maven, include the Liquibase Secure license key in the <properties> section of your pom.xml file:

<liquibaseLicenseKey>key-goes-here</liquibaseLicenseKey/>

For example:

<plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-commercial-maven-plugin</artifactId> <version>0-SNAPSHOT</version> <configuration> <changelogFile>com/example/changelog_v4.6.xml</changelogFile> <liquibaseLicenseKey>key-goes-here</liquibaseLicenseKey> </configuration> </plugin>

Note: In older versions of Liquibase, you must use the syntax <liquibaseProLicenseKey> instead of <liquibaseLicenseKey>.

If you use Azure DevOps and pass your license key as an environment variable, you can set the value of LIQUIBASE_LICENSE_KEY in your Azure DevOps pipeline setting file:

script: | echo "Running Policy Checks" liquibase checks run --changeLogFile=mysqlChangelog.xml displayName: 'Run Policy Checks' env: LIQUIBASE_LICENSE_KEY: $(LiquibaseKey)

In this example, LiquibaseKey is the name of the Azure DevOps project variable whose value is the license key.

You can directly embed your Liquibase Secure license key (myProLicenseKey) in a custom Java application by following these steps:

  1. In your Maven pom.xml file, point to liquibase-commercial.jar as a dependency: <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-commercial</artifactId> <version>4.33.0</version> </dependency>

  2. In your custom Java file, import the following: import com.datical.liquibase.ext.config.LiquibaseLabsConfiguration;

  3. In your custom Java file, call on the LiquibaseLabsConfiguration class. For example, to specify your license key so that you can run the Liquibase Secure update-one-changeset command: Scope.child(LiquibaseLabsConfiguration.LICENSE_KEY.getKey(), "myProLicenseKey", () -> new CommandScope(UpdateOneChangeSetSqlCommandStep.COMMAND_NAME) .addArgumentValue(DbUrlConnectionArgumentsCommandStep.DATABASE_ARG, liquibase.getDatabase()) .addArgumentValue(DatabaseChangelogCommandStep.CHANGELOG_FILE_ARG, "/db_schema/changelog.xml") .addArgumentValue(UpdateOneChangeSetCommandStep.CHANGESET_AUTHOR_ARG, "fl") .addArgumentValue(UpdateOneChangeSetCommandStep.CHANGESET_ID_ARG, "1") .addArgumentValue(UpdateOneChangeSetCommandStep.CHANGESET_PATH_ARG, "/db_schema/changelog.xml") .execute() );

For information on running Liquibase commands in Java files, see liquibase.command.CommandScope.