mcpField
C
convex-migrate

convex-migrate

github.com/get-convexData & databases6931.4k installsUpdated 1d ago
Repository

About convex-migrate

convex-migrate is a skill for changing schemas in deployed Convex apps while preserving existing data. It guides developers through staged schema updates, backfills, and validation checks.

Key features

  1. 01Optional-first schema changes
  2. 02Backfill and transform existing rows
  3. 03Verify row counts before and after
  4. 04Tighten validators after migration

Use cases

  1. 01Adding a required field to deployed records
  2. 02Updating existing data for a schema change

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/get-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