Everyone reviews code. Nobody reviews the migration. Until now.
Liquibase and Flyway run migrations. Atlas plans schema state. Squawk lints SQL. CodeRabbit reviews the code around them. Sieve reviews the migration itself — the schema change, its blast radius in your codebase, and the safe path to deploy it. It runs alongside your stack and replaces nothing.
| Capability | Sieveus | Atlas | Squawk | CodeRabbit | SchemaHero | Manual review |
|---|---|---|---|---|---|---|
| Detection | ||||||
Lints raw SQL migrations | ||||||
Understands typed schema diffs Reads the ORM's typed schema (Prisma, Drizzle, and more), not just the .sql file. | ||||||
Detects schema-touching PRs automatically | ||||||
Classifies risk by change type | ||||||
| Data awareness | ||||||
Checks the change against real data shape Opt-in, read-only catalog statistics — row counts, null fractions, distinctness, index coverage. No production rows are ever read. | ||||||
Shadow-runs the migration on a throwaway DB Applies the candidate migration to a disposable copy, measures duration, rewrites, and real failures, then rolls back. | ||||||
| Code awareness | ||||||
Walks your TypeScript for blast radius | ||||||
Surfaces affected services / domains | ||||||
Posts inline PR comments on affected files | ||||||
| Safer rollout | ||||||
Generates expand-and-contract plan | ||||||
Generates idempotent backfill SQL | ||||||
Generates rollback playbook | ||||||
Opens the corrected migration as a PR Opt-in: when a change is unsafe, Sieve commits the phased fix to a follow-up PR for review. | ||||||
Suggests tests for new states | ||||||
| Memory | ||||||
Remembers each table's incident history Every review feeds a track record — prior risky changes and incidents per table. | ||||||
| Workflow | ||||||
Native GitHub PR Check | ||||||
Fails a required check by risk policy Sieve sets the check to failed by risk level via .sieve.yml; GitHub branch protection turns that into a hard merge block. Advisory until you set a threshold. | ||||||
Custom risk policy as code | ||||||
Slack / Linear / PagerDuty | ||||||
Self-hosted runner (your VPC) | ||||||
| Scope | ||||||
Reviews migrations specifically, deeply | ||||||
Reviews general code (React, APIs, tests) Sieve only runs on schema PRs — pair it with CodeRabbit for everything else. | ||||||
full partial none
Sieve column reflects current early access: GitHub check, PR summary comment, shareable report, blast radius, table memory, and a risk-based merge gate via .sieve.yml. Data-aware checks, the shadow run, and corrected-migration PRs are opt-in. Drift detection runs on demand today. Slack hooks, inline file comments, full policy-as-code, and VPC hosting are planned for Team and Enterprise tiers.
See it on a real migration
Run the playground, or install the GitHub App on a repo.