convex-migration-helper

Plan zero-downtime Convex schema migrations with dual-write patterns and data backfilling.

43|8|Updated Feb 10, 2026
One-click install
npx skills add https://github.com/get-convex/agent-skills --skill convex-migration-helper
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-migration-helper
Source: https://github.com/get-convex/agent-skills/tree/main/skills/convex-migration-helper
Command: npx skills add https://github.com/get-convex/agent-skills --skill convex-migration-helper

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers safely plan and execute schema migrations for Convex applications, preventing data loss and ensuring zero-downtime deployments.

Core Features & Use Cases

  • Safe Schema Changes: Guides users through additive and breaking schema modifications.
  • Data Backfilling: Provides patterns for migrating existing data to new structures.
  • Zero-Downtime Strategies: Demonstrates dual-write patterns for continuous availability.
  • Use Case: You need to add a required email field to your users table. This skill will guide you through adding it as optional, backfilling existing users, and then making it required.

Quick Start

Use the convex-migration-helper skill to plan a migration for adding a required field to the users table.

Frequently Asked Questions about convex-migration-helper

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

FAQPage Schema
How do I handle Convex schema migrations without downtime?

Convex schema migrations without downtime use additive changes, data backfilling mutations, and dual-write patterns to maintain application availability during schema evolution.

What is the best way to add a required field to an existing Convex database table?

To add a required field to a Convex database, add it as optional first, run backfilling mutations to populate existing records, then enforce it as required in the schema.

Can I change data types or split tables in Convex without breaking my application?

Yes, changing data types or splitting tables in Convex uses batch processing and dual-write patterns to write data to both old and new structures, preventing application breaks.

Does the convex-migration-helper support renaming fields in TypeScript schemas?

The convex-migration-helper supports renaming fields by guiding developers through additive schema modifications and backfilling existing data before removing the old field.

What are the limitations of zero-downtime data backfilling in Convex?

Zero-downtime data backfilling in Convex requires batch processing to avoid exceeding system limits, and dual-write strategies must be maintained until all old data structures are fully migrated.