back
loading skill details...
Migrate schema + backfill data on a deployed Convex app using @convex-dev/migrations.
Migrate the schema / data on a live app Change a deployed schema without breaking existing data: stage the schema change, install @convex-dev/migrations, write a backfill that makes old rows valid, run it, and verify before tightening the validator. Workflow Make the new field optional first (so deploy doesn't reject existing rows). Install @convex-dev/migrations; write a migration that backfills/transforms existing rows. Run the migration; verify all rows are valid. Tighten the validator (make the field required) once the backfill is complete. Rules Never tighten a validator before the backfill completes — it rejects existing rows and breaks the live app. Add new fields as optional first, migrate, then require. Verify row counts before and after.
don't have the plugin yet? install it then click "run inline in claude" again.