liquibase vs atlas

Atlas plans migrations automatically from your schema as code, lints them for unsafe changes, and imports your existing Liquibase changelog directory in one command.

Side by side

Where Atlas and Liquibase differ

Both tools apply versioned migrations reliably. The rows below cover what surrounds that: planning, validation, rollback, and operations.

Migration planning

Atlas

Automatic. Atlas diffs the current state against your desired schema and writes the SQL, respecting your policies.

Liquibase

Hand-written changesets. diff-changelog can generate a changelog from two databases as a manual CLI operation.

Source of truth

Atlas

Schema as code in SQL or HCL. ORM models or a live database can also define the desired state.

Liquibase

Changelog files in XML, YAML, JSON, or formatted SQL. The current schema is the accumulated result of all changesets.

Rollback

Atlas

atlas migrate down computes the revert plan from the live database, and handles partially applied migrations.

Liquibase

Rollback by tag, date, or count. Auto-generated rollback covers some change types; the rest need custom rollback logic.

Validation and linting

Atlas

Built-in analyzers flag destructive changes, table locks, and incompatible changes, locally and in CI.

Liquibase

Checksum validation and preconditions. No semantic linting or policy engine.

Testing

Atlas

Unit-style tests for schemas and data migrations, runnable locally and in CI.

Liquibase

Not available.

CI/CD integrations

Atlas

Native GitHub, GitLab, Bitbucket, CircleCI, and Azure DevOps integrations with PR comments and merge gates.

Liquibase

CLI, Maven, Gradle, and Ant plugins, plus an official GitHub Action.

Kubernetes and Terraform

Atlas

Official Kubernetes Operator (AtlasSchema, AtlasMigration CRDs) and Terraform provider.

Liquibase

No official operator or provider. Kubernetes runs typically use the CLI in an init container.

Drift detection

Atlas

Pre-apply drift check inside the pipeline, plus continuous monitoring with alerts.

Liquibase

diff-changelog reports drift on demand. No continuous detection.

Runtime

Atlas

Single static Go binary and Docker image, around 63 MB. No runtime dependencies.

Liquibase

Java CLI. Requires Java 8 or newer.

Read the full comparison guide
The switch

Bring your Liquibase history with you

atlas migrate import converts an existing Liquibase directory into Atlas format. Three steps take a project from Liquibase to Atlas without rewriting its history.

01

Import your migration directory

Formatted SQL changelogs convert to Atlas format with an atlas.sum checksum file. Rollback statements are skipped: Atlas computes down migrations dynamically.

terminal
$ atlas migrate import \ --from "file://migrations?format=liquibase" \ --to "file://atlas-migrations"
02

Point Atlas at your database

One env block per real environment. Planning and validation run against an ephemeral dev container, not your targets.

atlas.hcl
env "prod" { url = env("DATABASE_URL") dev = "docker://postgres/16/dev" migration { dir = "file://atlas-migrations" } }
03

Baseline and take over

The baseline flag marks migrations up to that version as already applied on the existing database. From here, atlas migrate diff plans new changes and atlas migrate apply ships them.

terminal
$ atlas migrate apply --env prod --baseline 20240101120000 No migration files to execute $ atlas migrate status --env prod Migration Status: OK -- Current Version: 20240101120000
Import Documentation
Databricks logo
Atlas enables our team to efficiently and safely manage our application schema. With features like linting, automated migrations for our ORM, and Kubernetes support, it seamlessly integrates into our development ecosystem.
Michael Caulley, Software Eng Lead
Medical Solutions logo
Generating and applying migrations is very straight-forward. A powerful and elegant tool, we are now integrating Atlas into our GitHub workflows. Atlas is a natural extension of the tools we already use and a joy to work with!
Noreen Wu, Senior Software Engineer
Softserve logo
Finally, a tool that eases the headaches of dealing with migrations, dirty states, merging conflicts, and thinking about rolling back to previous states... hands down, with Atlas, I've had the best experience ever!
Alexander Sadowski, Full Stack Developer
Vercel
Nvidia
Meta
Trusted by leading companies
Databricks
Intel
Procter & Gamble

Keep your history. Change your workflow.

atlas migrate import converts an existing Liquibase changelog in one command. Start free, or schedule a demo to plan the rollout with your team.