convex-migrations

Migrate Convex database schemas with batch backfills and zero-downtime patterns.

Updated Apr 22, 2026
One-click install
npx skills add https://github.com/wixels/sab-colour-profile --skill convex-migrations-wixels
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-migrations
Source: https://github.com/wixels/sab-colour-profile/tree/main/.agents/skills/convex-migrations
Command: npx skills add https://github.com/wixels/sab-colour-profile --skill convex-migrations-wixels

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Convex does not use traditional migration files or commands, so manual schema changes risk breaking existing data or causing deployment downtime for production applications. This Skill eliminates that risk by providing proven, safe migration patterns for all common schema evolution tasks.

Core Features & Use Cases

  • Safe Field Additions: Add new optional fields to Convex tables and backfill existing data in small batches to avoid function timeouts.
  • Deprecated Field Removal: Cleanly remove unused fields from schemas and existing documents only after all code references are updated.
  • Zero-Downtime Migrations: Use Convex's built-in scheduler and pagination to run migrations without interrupting live application traffic.
  • Use Case: For example, if you need to add a lastLogin timestamp field to your existing Convex users table, this Skill guides you through adding the optional field, backfilling data for all existing users, and making the field required without any downtime.

Quick Start

Use the convex-migrations skill to add a new optional phoneNumber field to your existing Convex users table and backfill default values for all current users.

Frequently Asked Questions about convex-migrations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update a Convex database schema without downtime?

To update a Convex database schema without downtime, apply zero-downtime deployment patterns using the scheduler and pagination to run batch backfills and schema changes without interrupting live application traffic.

What is the best way to add a new required field to a Convex table?

The best way to add a required field to a Convex table is a multi-step migration: add the field as optional first, backfill existing documents with default values in small batches, then update the schema to make the field required.

How do I backfill existing data in Convex without causing function timeouts?

To backfill existing data without causing function timeouts, process documents in small batches using Convex's pagination. This batch backfill logic prevents operations from exceeding execution limits while updating large datasets.

Can I remove deprecated fields from a Convex schema safely?

You can safely remove deprecated fields from a Convex schema only after ensuring all application code references are updated. Once no code relies on the field, cleanly remove it from the schema and existing documents.

Does Convex support traditional database migration files?

Convex does not use traditional database migration files or commands. Schema evolution requires applying specific deployment patterns and reusable migration runner implementations to safely add indexes, rename fields, or convert field types.