Using DBeaver & Liquibase: Automate Database Comparisons in Your CI/CD Pipeline
See Liquibase in Action
Accelerate database changes, reduce failures, and enforce governance across your pipelines.

Content updated September 2025
Key Takeaways
- Liquibase and DBeaver now integrate to provide powerful database comparison capabilities.
- DBeaver Enterprise, Ultimate, and Team Editions support Liquibase for advanced schema comparisons.
- This integration enables quick identification of differences between databases, making it easier to standardize environments.
- Automating database alignment within your CI/CD pipeline reduces friction, speeds delivery, and increases reliability.
Introduction
Liquibase and DBeaver have partnered to deliver advanced database comparison features, helping you streamline automation and reduce manual work.
The latest versions of DBeaver Enterprise, DBeaver Ultimate, and Team Edition now integrate with Liquibase. This update introduces robust schema comparison capabilities so you can instantly identify differences between databases and standardize environments across your pipeline.
If your goal is to automate database alignment as part of your CI/CD process, DBeaver Enterprise Edition offers a straightforward solution. You can compare databases directly in DBeaver and automate those checks within your CI/CD workflow.
This integration removes friction from your process, making database change management faster, safer, and more reliable.
Ready to try it? Follow these steps to get started at no cost.
Step 1: Install and Configure DBeaver Enterprise Edition
Download DBeaver and select either the Enterprise, Ultimate, or Team Edition. After downloading, install your chosen version.
Step 2: Start a Free 30-day Trial of Liquibase
No credit card is required. You will receive a license key for the next step.
Step 3: Connect DBeaver to Liquibase
Add your Liquibase license key in the DBeaver user interface.
If you prefer, you can add this line to your dbeaver.ini file. For Windows 10 users, the file is typically located at C:\Program Files\DBeaverEE.
-Dliquibase.license.key=<Your Liquibase License Key>
Liquibase Community (open source) works with DBeaver to compare tables. When you add a Liquibase license, you unlock comparisons for functions, packages, synonyms, triggers, and check constraints.
Step 4: Set Up Your Test Databases
If you already have two databases to compare, move to the next step. If not, here is a quick way to set up two PostgreSQL databases for testing.
Run the following Docker commands to start two PostgreSQL instances:
docker run -p 5432:5432 -e POSTGRES_PASSWORD=secret -d postgres
docker run -p 5433:5432 -e POSTGRES_PASSWORD=secret -d postgres
This launches two identical databases. One listens on port 5432 and the other on port 5433. Use "postgres" as the username and "secret" as the password. Adjust these values as needed for your environment.
Step 5: Create Database Connections in DBeaver
After launching DBeaver, create a new database connection:
- Go to File → New
- Select Database Connection
- Choose PostgreSQL and use the connection details from the previous step
The "Test Connection" button helps you confirm your database settings are correct before proceeding.
Step 6: Create Database Objects in One Database
If your databases already contain objects, continue to the next step. Otherwise, use the two Docker PostgreSQL databases and run this script on one instance.
Open the SQL toolbar and select "New SQL Script" (or use Ctrl+J). Copy and paste this SQL to create a table, function, and trigger:
CREATE TABLE emp (
empname text,
salary integer,
last_date timestamp,
last_user text
);
CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
BEGIN
-- Check that empname and salary are given
IF NEW.empname IS NULL THEN
RAISE EXCEPTION 'empname cannot be null';
END IF;
IF NEW.salary IS NULL THEN
RAISE EXCEPTION '% cannot have null salary', NEW.empname;
END IF;
-- Who works for us when they must pay for it?
IF NEW.salary < 0 THEN
RAISE EXCEPTION '% cannot have a negative salary', NEW.empname;
END IF;
-- Remember who changed the payroll when
NEW.last_date := current_timestamp;
NEW.last_user := current_user;
RETURN NEW;
END;
$emp_stamp$ LANGUAGE plpgsql;
CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE FUNCTION emp_stamp();
Step 7: Compare Databases
- In Database Navigator, select the public schema of your first database (Database Connection → postgres → Schema)
- Hold Ctrl and select the public schema of your second database
- Right-click one of the selected schemas
- Choose Compare/Migrate → Compare/Migrate Schema. The dialog will show both public schemas selected
- Select "Generate migrate / compare plan"
The dialog displays the changes needed to make the target database match the source.
In the "Report type" dropdown, choose your preferred Liquibase changelog format (XML, YAML, or JSON).
Click Save to store a local copy.
Step 8: Add Your Liquibase Changelog to Your Source Repository
Liquibase works best when integrated with your application’s CI/CD tools. For example, if you use Octopus Deploy, configure it to run Liquibase as part of your deployment process. This ensures database changes are automated, consistent, and tracked across environments.
Summary
Liquibase makes it easy to compare database schemas using the diff command. When you use DBeaver and Liquibase together, you can automate schema comparisons in your CI/CD pipeline. This combined approach helps teams standardize workflows, improve reliability, and reduce manual intervention.
Frequently Asked Questions
What versions of DBeaver work with Liquibase?
DBeaver Enterprise, Ultimate, and Team Editions integrate with Liquibase for advanced schema comparisons.
Can I use Liquibase Community Edition with DBeaver?
Yes. Liquibase Community works with DBeaver to compare tables, but Liquibase paid offering unlocks advanced object comparisons like triggers, functions, and packages.
How does this integration improve CI/CD workflows?
By automating schema comparisons and aligning databases directly within CI/CD pipelines, teams save time, reduce manual effort, and improve consistency.
What types of database objects can I compare with Liquibase?
Beyond tables, Liquibase supports comparisons for triggers, functions, synonyms, packages, and check constraints.