How a migration runs
Every migration moves through the same four phases. Each one can be paused, and each one reports its progress to the plan file.
Snapshot
Copies the schema and takes a consistent read point on the source.
Backfill
Copies rows in parallel ranges while the source keeps taking writes.
Catch-up
Replays the writes that landed during the backfill until lag is small.
Cut-over
Pauses writes for a moment, drains the last changes and switches traffic.