Connect Liquibase to DB2 for zOS

Last updated: July 14, 2025

DB2 for z/OS is a relational database management system that runs on the mainframe. For more information, see IBM DB2 Documentation.

Supported versions

  • 12.0.0

  • 11.5.7+

Before you begin

Procedure

1

Configure the connection.

1. Confirm the configuration of the DB2 on z/OS database. Run the DISPLAY DATABASE command to display the status of DB2 databases.

2. Specify the database URL in the liquibase.properties file (defaults file), along with other properties you want to set a default value for. Liquibase does not parse the URL. You can either specify the full database connection string or specify the URL using your database's standard connection format:

url: jdbc:db2://<server_name>:<port>/<db_name>

Note: The URL for DB2 on z/OS may have different formats, such as jdbc:db2j:net:, jdbc:ibmdb:, and jdbc:ids:, depending on your connection type. For more information, see the URL format for the IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.

2

Test connection

1. Create a text file called changelog (.sql, .yaml, .json, or .xml) in your project directory and add a changeset.

If you already created a changelog using the init project command, you can use that instead of creating a new file. When adding onto an existing changelog, be sure to only add the changeset and to not duplicate the changelog header.

--liquibase formatted sql
--changeset your.name:1
CREATE TABLE test_table (
  test_id INT NOT NULL,
  test_column INT,
  PRIMARY KEY (test_id) NOT ENFORCED
)

2. Navigate to your project folder in the CLI and run the liquibase status command to check whether the connection is successful:

liquibase status --username=test --password=test --changelog-file=changelog.xml

Note: You can specify arguments in the CLI or keep them in the liquibase.properties file.

If your connection is successful, you'll see a message like this:

4 changesets have not been applied to your_connection_url Liquibase command 'status' was executed successfully.

3. Inspect the deployment SQL with the update-sql command:

sqlCopyEditliquibase update-sql --changelog-file=changelog.xml

If the SQL that Liquibase generates isn't what you expect, review your changelog file and make any necessary adjustments.

4. Execute the changes to your database with the update command:

sqlCopyEditliquibase update --changelog-file=changelog.xml

If your update is successful, Liquibase runs each changeset and displays a summary message ending with:

bashCopyEditLiquibase: Update has been successful. Liquibase command 'update' was executed successfully.

5. From a database UI tool, confirm that your database now contains the test_table object, along with the DATABASECHANGELOG and DATABASECHANGELOGLOCK tables.

Now you're ready to start deploying database changes with Liquibase!

Connect Liquibase to DB2 for zOS - Liquibase