atlas migrate lint for free migration-safety checks, that command moved behind Atlas Pro. This page lists free, Postgres-native alternatives and shows where supaschema fits.
What changed in Atlas
Starting with Atlas v0.38, theatlas migrate lint command is available only to Atlas Pro users, and the custom schema-policy linting rules are Pro-only as well. Atlas’s current pricing pages describe separate CLI seat, pipeline project, and target-database pricing. Confirm the current pricing page before quoting a number.
Last verified 2026-06-18 against the Atlas documentation. Pricing and feature
gating are set by Atlas and can change; confirm the current terms on the Atlas
site before quoting them.
Free alternatives at a glance
| Tool | License | Migration-safety scope | Needs a database or Docker? |
|---|---|---|---|
supaschema | Free core (open) | Replay-safety + lock-hazard checks on generated migrations (check), a destructive-operation advisory in diff, and a free scan score with RLS-audit and least-privilege packs | No, generation and checks run from declarative SQL files |
| Squawk | Open source (MIT/Apache-2.0) | Lock-safety linter for Postgres migration SQL | No |
| pgfence | Source-available | Migration-safety CLI: lock-mode analysis, risk scoring, and safe-rewrite recipes | No |
Where supaschema fits
supaschema generates migrations from declarative SQL and proves them before apply. The migration-safety checks that overlap with atlas migrate lint are in the free core:
supaschema checkflags replay-safety and lock hazards on a generated migration (missingIF EXISTS/IF NOT EXISTSguards, table-rewritingALTERs,CREATE INDEX CONCURRENTLYinside a transaction, and more), each as aSUPA_*diagnostic you can decode withsupaschema explain <CODE>.supaschema diffsurfaces a lock-impact advisory on each destructive operation that will actually run.supaschema scanproduces a composite safety score with free RLS-audit and least-privilege packs.
hints.destructive after reviewing the rendered SQL, so a drop or a type change cannot land silently.
What is not free
supaschema is open-core. The migration-safety checks above are free. Grant and RLS safety also run through the free scan and deploy-safety gates. The current licensed standalone CLI gate is type-contract --enforce, which turns TypeScript/Zod breaking-change diagnostics into a failing command when a valid entitlement is present.
Choosing between them
- You want Postgres migration-safety linting without a paid seat: use
supaschema check, Squawk, or pgfence. - You generate migrations from declarative SQL and want the safety check in the same tool: use
supaschema diffthensupaschema check. - You already run the broader Atlas schema-as-code platform and want its hosted reporting: Atlas Pro is the paid path for that.
Supabase CLI comparison
How supaschema’s declarative diff compares to the Supabase CLI db diff
workflow.
The check command
The replay-safety and lock-hazard diagnostics supaschema runs on every
migration.
Sources
- Atlas, “Verifying Migration Safety” —
atlas migrate lintis Atlas Pro only since v0.38. - Atlas v0.38 release notes (2025-10-28)
- Atlas pricing
- Squawk, Postgres migration linter
- pgfence

