Every migration has an implicit size envelope. Knowing your project's shape ahead of time — rows, users, files, total bytes — is the difference between a smooth run and a surprise mid-cutover.
Why migration size matters
Size affects duration, memory pressure, network throughput, and how much time you need for verification. It also determines whether a project fits inside your current plan limits or needs a manual review.
Database row counts
Row counts drive schema migration duration and validation time. Long tables benefit from batched copies and post-migration sequence resets.
Auth user counts
Auth migrations are relatively fast per user but sensitive to ID preservation. Larger user bases increase the risk of collisions if IDs are regenerated by accident.
Storage file counts
File counts affect the number of individual API calls a migration needs to make. Many small files can be more expensive than a few large ones.
Total storage size
Total bytes influence throughput and cost. Estimate before the run so the destination plan supports the incoming volume.
Single storage file size
Very large single files can trip per-request limits. Split, chunk, or handle them out-of-band when they exceed the platform maximum.
How limits keep runs predictable
Miglify applies limits across the dimensions that shape a run:
- Database rows
- Auth users
- Storage files
- Total storage size
- Single storage file size
The allowances that apply to your project are shown in the migration preflight analysis. See /pricing for plan allowance and /docs/migration-limits for how limits are applied.
When larger projects need manual review
Projects that exceed the applicable limits are not unsupported — they need a short manual review so the team can plan a safe run together. Contact the Miglify team to arrange one.
How to prepare a smaller first test
- Start with a staging project that mirrors production schema.
- Migrate a representative subset of rows, users, and files.
- Run verification end to end before scaling up.
How Miglify handles migration limits
Miglify surfaces limit status in the Detected Resources card during setup. When a project exceeds the applicable envelope, the Confirm step switches to "Approval required" so nothing runs without a plan.
Read the Supabase to Supabase Migration guide next, and see /pricing for plan details or contact the team for a manual review.
Final thoughts
Measure before you migrate. A ten-minute inventory turns unknown risk into a known plan — and lets the team choose the right size for a first test run.
Miglify keeps every step observable — analyze source, validate destination, and prepare rollback-aware runs before you cut over.
