Export your schemas. Paste them side by side. Spot every column, table, and index difference before your migration breaks production. Zero install. Zero configuration.
No account required. No data leaves your device.
At 2:47 AM, your on-call engineer gets paged. A deployment is failing with a cryptic database error. After twenty minutes of investigation, the culprit is clear: a column that exists in staging doesn't exist in production. The migration never ran. This is schema drift â and it costs teams hours of sleep, revenue, and trust.
"Does it support diffing between branches (e.g., compare staging schema vs production)? That's the main use case I'd want â catching drift before a deploy, not after."
â Hacker News comment, May 2026Run the schema-only export command for your database. No data, just structure â fast and safe.
Use the same command against your production database. If you're cautious, run this against a replica or during a low-traffic window.
Drop both schema dumps into the left and right panes. SchemaLens auto-detects your SQL dialect and parses tables, columns, indexes, constraints, views, and triggers.
See exactly what's different â added tables, dropped columns, type changes, missing indexes. Copy the ALTER TABLE script, export as Markdown for your PR, or share a link with your team.
pg_dump --schema-only --no-owner --no-privileges YOUR_DB > schema.sql
mysqldump --no-data --routines --triggers YOUR_DB > schema.sql
sqlite3 YOUR_DB .schema > schema.sql
sqlcmd -S server -d YOUR_DB -Q "EXEC sp_msforeachtable 'SCRIPT TABLE dbo.? TO stdout'" > schema.sql
expdp USER/PWD DIRECTORY=data_pump_dir DUMPFILE=schema.dmp CONTENT=METADATA_ONLY
Tables added in staging that don't exist in production yet. Columns that were added to support a new feature but forgot to make it into the migration script.
Columns that were dropped in staging but still exist in production â or vice versa. Accidental deletions that would cause application errors.
VARCHAR(50) â VARCHAR(255). INT â BIGINT. TIMESTAMP â TIMESTAMPTZ. Type widening is usually safe. Type narrowing is a breaking change.
Missing foreign keys that break referential integrity. Indexes that speed up staging queries but don't exist in production. Unique constraints that were added or removed.
SchemaLens automatically flags destructive changes â dropped columns, NOT NULL additions on existing columns, type narrowing, dropped tables â and gives each diff a risk score.
Modified views that return different columns. Triggers with changed logic. Stored procedures with updated signatures. All compared semantically, not by raw text.
Manual diffs are great for one-off checks. But if you want to catch schema drift on every pull request, the SchemaLens GitHub Action posts a risk-scored diff summary directly in your PR.
Every diff gets a 0-100 risk rating. Know at a glance whether a migration is safe to run or needs extra review.
Generate reverse ALTER TABLE scripts before you run the forward migration. If something goes wrong, you have an escape hatch.
Export diffs as Markdown for PR descriptions, PDF for compliance audits, or raw SQL for your migration tool. Shareable links let your team review without signing up.
Send breaking change alerts to Slack via webhook. Notify the team the moment a risky schema change is detected.