Complement, not replacement

MigrationPilot vs LiquibasePostgreSQL-Specialized Safety Analysis

Liquibase is a multi-database migration runner with some policy checks in its paid tier. MigrationPilot is a free, PostgreSQL-specialized linter with 80 safety rules that catches the lock and DDL issues Liquibase does not analyze.

Different Tools, Different Strengths

Liquibase

Liquibase is a database change management tool. It tracks, manages, and applies schema changes across multiple database engines using XML, YAML, JSON, or SQL changelogs.

  • --Supports 50+ database engines
  • --Tracks changesets with DATABASECHANGELOG
  • --Policy checks available (Pro/Enterprise only)
  • --Policy checks are general-purpose, not PostgreSQL-specific
  • --No PostgreSQL lock analysis
MigrationPilot

MigrationPilot is a PostgreSQL migration linter. It analyzes SQL files for lock safety, risky DDL patterns, and best practices using the real PostgreSQL parser.

  • 80 PostgreSQL-specific safety rules
  • Lock type analysis (SHARE through ACCESS EXCLUSIVE)
  • 77 rules free (MIT licensed)
  • Auto-detects Liquibase changelog directories
  • Real PostgreSQL parser (libpg-query), not regex

Feature Comparison

CapabilityLiquibase OSSLiquibase ProMigrationPilot
Primary purposeRun migrationsRun migrationsLint migrations
PostgreSQL safety rulesNoneGeneral policy checks80 specialized rules
Lock type analysisNoNoPer-statement
Risk scoringNoNoRED / YELLOW / GREEN (0-100)
Auto-fixNoNo12 rules
Safe alternative SQLNoNoPer violation
Migration executionYesYesNo (read-only)
Multi-database50+50+PostgreSQL only
GitHub ActionCommunityBundledOfficial (free)
PR commentsNoNoYes + inline annotations
VS Code extensionNoNoYes
SARIF outputNoNoYes
Config presetsNoCustom policies5 built-in presets
Rollback DDL generationYesYesYes
Framework detectionLiquibase onlyLiquibase only14 frameworks
PriceFreeCustom (enterprise)Free (77 rules) / $19/mo Pro
LicenseApache 2.0CommercialMIT

Why Add MigrationPilot to Your Liquibase Workflow

PostgreSQL Lock Expertise

Liquibase policy checks are database-agnostic. MigrationPilot understands PostgreSQL lock levels (SHARE, SHARE UPDATE EXCLUSIVE, ACCESS EXCLUSIVE) and knows exactly when a DDL statement will block your application.

Free Safety Linting

Liquibase policy checks require a Pro or Enterprise license. MigrationPilot offers 77 rules for free under MIT license. No sales calls, no license keys for basic linting.

Real PostgreSQL Parser

MigrationPilot uses libpg-query (the real PostgreSQL parser compiled to WASM). It parses SQL exactly like PostgreSQL does. No regex heuristics, no false positives from syntax edge cases.

Automatic Remediation

MigrationPilot auto-fixes 12 common issues: adds CONCURRENTLY to CREATE INDEX, inserts lock_timeout, adds NOT VALID to constraints, and more. Liquibase tells you something is wrong; MigrationPilot fixes it.

PR-Level Feedback

The GitHub Action posts safety reports as PR comments with inline annotations on changed files. Reviewers see risk scores, lock types, and safe alternatives without leaving the PR.

Works Alongside Liquibase

MigrationPilot auto-detects Liquibase migration directories. Keep Liquibase for execution and versioning. Add MigrationPilot as a CI lint step to catch dangerous SQL before Liquibase runs it.

When to Use Each Tool

Use Liquibase when you need to...

  • Manage migrations across multiple database engines
  • Use XML/YAML/JSON changelogs instead of raw SQL
  • Track changelogs with DATABASECHANGELOG
  • Apply schema changes and rollbacks in your Java/JVM stack
  • Enforce enterprise database governance policies (Pro)

Use MigrationPilot when you need to...

  • Deep PostgreSQL-specific safety analysis
  • Know which locks each DDL statement acquires
  • Automatically fix dangerous DDL patterns
  • Get PR-level safety reports with risk scores
  • Free, open-source migration linting without enterprise pricing

Best approach: Use both together

MigrationPilot does not replace Liquibase. Keep Liquibase for changelog management and migration execution. Add MigrationPilot as a CI lint step that runs before Liquibase applies changes. If your changelogs include raw SQL blocks, MigrationPilot analyzes them for safety. Think of it as ESLint for your migration SQL.

Add MigrationPilot to Your Liquibase Project

1

Lint SQL changelogs locally

# Analyze SQL migration files in your Liquibase changelog directory
npx migrationpilot analyze src/main/resources/db/changelog/*.sql

# MigrationPilot auto-detects Liquibase directories
npx migrationpilot detect
2

Add to your CI pipeline

# .github/workflows/migration-lint.yml
name: Lint Migrations
on: pull_request
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: mickelsamuel/migrationpilot@v1
        with:
          path: src/main/resources/db/changelog/
          fail-on: critical
3

Configure rules for your team

# .migrationpilotrc.yml
extends: recommended
pgVersion: 16
exclude:
  - MP008  # Allow multi-DDL if Liquibase wraps in transactions

Liquibase manages changes. MigrationPilot makes them safe.

80 PostgreSQL safety rules. 12 auto-fixes. Lock analysis. Risk scoring. Free and open-source. Add it to your Liquibase pipeline in 30 seconds.