convex-migration-helper

Manage Convex schema changes with a widen-migrate-narrow strategy.

Updated May 5, 2026
One-click install
npx skills add https://github.com/DominikKoniarz/vendo --skill convex-migration-helper-dominikkoniarz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-migration-helper
Source: https://github.com/DominikKoniarz/vendo/tree/main/packages/backend/.agents/skills/convex-migration-helper
Command: npx skills add https://github.com/DominikKoniarz/vendo --skill convex-migration-helper-dominikkoniarz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @convex-dev/migrations, and includes references (resource) components.

What problem does it solve?

This skill mitigates the risk of breaking production applications during schema changes by providing a structured, multi-deploy workflow that ensures data integrity and zero-downtime transitions.

Core Features & Use Cases

  • Widen-Migrate-Narrow Workflow: Orchestrates the safe expansion of schemas, data backfilling, and final schema tightening.
  • Component Integration: Leverages the @convex-dev/migrations component for batched, resumable, and observable data migrations.
  • Use Case: Use this when you need to add a required field to a large table, change a field's data type, or split nested data into a new relational table without causing deployment failures or data loss.

Quick Start

Use the convex-migration-helper to plan a migration for adding a required field to the users table while ensuring zero downtime.

Frequently Asked Questions about convex-migration-helper

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

FAQPage Schema
How do I execute zero-downtime schema migrations in Convex?

Zero-downtime Convex schema migrations use a multi-deploy widen-migrate-narrow strategy to safely expand schemas, backfill data, and tighten definitions without breaking production applications.

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

Adding a required field to a large Convex table requires a multi-deploy workflow that widens the schema, backfills existing records with batch processing, and narrows the schema to enforce the new requirement.

Can I change a field's data type in a Convex database without data loss?

Changing a field's data type in a Convex database requires a structured data transformation workflow that backfills and converts values across batched, resumable operations to prevent data loss.

Does the @convex-dev/migrations component support cursor-based pagination for batch processing?

The @convex-dev/migrations component supports cursor-based pagination and batch processing to enable resumable, observable data transformations during complex schema changes.

How do you split nested data into a new relational table in Convex?

Splitting nested data into a new relational table in Convex requires orchestrating schema expansion, data migration to the new table, and final schema tightening to ensure data integrity and zero downtime.