mcpField
C
convex-migrate

convex-migrate

github.com/convexData & databases6937.2k installsUpdated 1d ago
Repository

About convex-migrate

convex-migrate is a skill for changing schemas and data on a live Convex app without invalidating existing rows. It stages validator changes around a backfill, then checks the migrated data before requiring the new field.

Key features

  1. 01Stage new fields as optional
  2. 02Backfill and transform existing rows
  3. 03Verify data before tightening validators
  4. 04Compare row counts before and after

Use cases

  1. 01Add a required field to a live schema
  2. 02Transform existing rows during a migration

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/convex/agent-skills --skill convex-migrate

After installing, type/convex-migratein Claude Code to confirm it loaded.

Details

From the project README

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

  1. Make the new field optional first (so deploy doesn't reject existing rows).
  2. Install @convex-dev/migrations; write a migration that backfills/transforms existing rows.
  3. Run the migration; verify all rows are valid.
  4. 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.

Comments

Markdown supported