112 free rules vs 16 paid checks

MigrationPilot vs AtlasFree, Open-Source Migration Linting

Atlas (by Ariga) is a schema management tool. It documents 17 PostgreSQL checks, and every one but PG110 needs Atlas Pro. MigrationPilot is a dedicated migration linter with 112 rules, all of them free. It works alongside Atlas or any other migration tool.

Rule-by-Rule Coverage

Atlas documents 17 PostgreSQL checks. MigrationPilot has an equivalent for 13 of them, 5 of those auto-fixable. The remaining 4 have no MigrationPilot counterpart, and they are listed here rather than left out.

Atlas RuleMigrationPilot EquivalentAuto-Fix
PG101 CREATE INDEX without CONCURRENTLYMP001 require-concurrent-index-creationYes
PG102 DROP INDEX without CONCURRENTLYMP009 require-drop-index-concurrentlyYes
PG103 CONCURRENTLY inside a transactionMP025 ban-concurrent-in-transactionYes
PG104 ADD PRIMARY KEY takes ACCESS EXCLUSIVENo direct equivalent
PG105 ADD UNIQUE takes ACCESS EXCLUSIVEMP027 disallowed-unique-constraint
PG110 Non-optimal column alignmentMP061 suboptimal-column-order
PG301 Column type change rewrites the tableMP007 no-column-type-change
PG302 Volatile DEFAULT rewrites the tableMP003 volatile-default-table-rewrite
PG303 SET NOT NULL scans the whole tableMP002 require-check-not-null-pattern
PG304 PRIMARY KEY on nullable columns forces a scanNo direct equivalent
PG305 CHECK without NOT VALIDMP030 require-not-valid-checkYes
PG306 FOREIGN KEY without NOT VALIDMP005 require-not-valid-foreign-keyYes
PG307 SET LOGGED / UNLOGGED rewrites the tableMP047 ban-set-logged-unlogged
PG308 Trigger on an existing table blocks writesMP090 warn-trigger-on-hot-table
PG309 STORED generated column rewrites the tableMP062 ban-add-generated-stored-column
PG310 Identity column rewrites the tableNo direct equivalent
PG311 Access method change rewrites the tableNo direct equivalent

Feature Comparison

CapabilityAtlas (Free)Atlas (Pro/Cloud)MigrationPilot
Migration lintingPG110 only16 PG checks112 rules (all free)
Lock type analysisNoNoPer-statement
Risk scoringNoNoRED / YELLOW / GREEN (0-100)
Auto-fixNoNo20 rules
Safe alternative SQLNoNoPer violation
Declarative schemaYes (HCL)Yes (HCL)No (lint-only)
Schema versioningYesYesNo (works with any)
GitHub ActionLimitedYesFree (PR comments + annotations)
VS Code extensionHCL supportHCL supportSQL safety diagnostics
SARIF outputNoNoYes (Code Scanning)
Schema drift detectionYesYesYes
Multi-databasePG, MySQL, SQLite, etc.PG, MySQL, SQLite, etc.PostgreSQL only
Config presetsatlas.hclatlas.hcl5 built-in YAML presets
Framework detectionAtlas onlyAtlas only14 frameworks
Production contextNoCloud-basedFree (--database-url)
Air-gapped modeNoNo (requires cloud)Yes (--offline)
PriceFreeCustomFree (all 112 rules)
LicenseApache 2.0CommercialMIT

Key Differentiators

Free Migration Linting

Atlas moved migration linting behind a Pro login in v0.38; the Community Edition keeps only basic analyzers, with every PostgreSQL lock-safety check Pro-only. MigrationPilot gives you all 112 rules for free under an MIT license, with no cloud account.

Far More Coverage

Atlas documents 17 PostgreSQL checks. MigrationPilot has 112 rules, covering lock safety, data types, partitioning, RLS, JSONB indexing, and logical replication.

Lock-Level Analysis

MigrationPilot tells you exactly which PostgreSQL lock each DDL statement acquires (SHARE, SHARE UPDATE EXCLUSIVE, ACCESS EXCLUSIVE) and whether it blocks reads or writes.

Auto-Fix

20 rules can be fixed automatically with --fix: missing CONCURRENTLY, lock_timeout, statement_timeout, NOT VALID, IF NOT EXISTS, and more. Atlas does not offer auto-fix.

Works Without Cloud

Atlas Pro requires an Ariga Cloud account. MigrationPilot runs entirely locally or in your own CI. The --offline flag ensures zero external calls.

Framework Agnostic

MigrationPilot works with any migration tool: Atlas, Flyway, Liquibase, Prisma, Django, Rails, Alembic, and 7 more. Auto-detect with npx migrationpilot detect.

When to Use Each Tool

Use Atlas when you need to...

  • Define schemas declaratively with HCL
  • Auto-generate migration files from schema diffs
  • Manage schemas across multiple database engines
  • Use cloud-hosted schema management (Ariga Cloud)
  • Apply versioned migrations with built-in execution

Use MigrationPilot when you need to...

  • Comprehensive PostgreSQL migration safety analysis
  • Free linting without a cloud account or paid plan
  • Auto-fix dangerous DDL patterns automatically
  • Run entirely locally or air-gapped (no cloud dependency)
  • Lint migrations from any framework, not just Atlas

Use both together

If you use Atlas for schema management, you can add MigrationPilot as a lint step in your CI pipeline. Atlas generates the migration SQL, MigrationPilot reviews it for safety. Keep Atlas for declarative schema management and execution. Add MigrationPilot for deep PostgreSQL safety analysis.

Get Started in 30 Seconds

1

Lint your Atlas migrations

# Analyze migration files generated by Atlas
npx migrationpilot analyze migrations/*.sql
2

Add to GitHub Actions

- uses: mickelsamuel/migrationpilot@v1
  with:
    path: migrations/
    fail-on: critical
3

Auto-fix common issues

npx migrationpilot analyze migrations/ --fix --dry-run

112 rules. Free and open-source. No cloud required.

Migration linting should not require a paid plan. MigrationPilot gives you all 112 safety rules for free, 20 of them auto-fixable, plus lock analysis and risk scoring. MIT licensed.