convex-migrations

Manage Convex database schema migrations with zero-downtime patterns.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/debsouryadatta/memo-hack --skill convex-migrations-debsouryadatta
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-migrations
Source: https://github.com/debsouryadatta/memo-hack/tree/main/.agent/skills/convex-migrations
Command: npx skills add https://github.com/debsouryadatta/memo-hack --skill convex-migrations-debsouryadatta

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides strategies and patterns for safely evolving your Convex database schema, ensuring data integrity and minimizing downtime during updates.

Core Features & Use Cases

  • Schema Evolution: Add, remove, or rename fields and tables with confidence.
  • Data Backfilling: Implement mutations to populate new fields with existing data.
  • Zero-Downtime Migrations: Apply schema changes and data transformations without interrupting service.
  • Use Case: You need to add a new avatarUrl field to your users table. This Skill guides you through making the field optional, backfilling existing users with default avatars, and then making the field required.

Quick Start

Use the convex-migrations skill to add a new optional field called 'avatarUrl' to the 'users' table.

Frequently Asked Questions about convex-migrations

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

FAQPage Schema
How do I add a new required field to an existing Convex database table?

Convex database schema evolution requires adding the new field as optional first, backfilling existing records with default values via mutations, and finally enforcing the field as required to ensure data integrity.

What is a zero-downtime database migration pattern for Convex?

A zero-downtime migration in Convex applies schema changes and data transformations progressively through documented mutation patterns, ensuring the backend service remains uninterrupted while the database structure updates.

How do I backfill data for existing records when updating a Convex schema?

Data backfilling in Convex uses custom mutations to iterate through existing database records and populate newly added optional fields with computed or default values before the schema change is finalized.

Can I safely remove deprecated fields from a Convex schema without breaking queries?

Removing deprecated fields from a Convex schema is safe when done gradually: stop writing to the field, migrate existing queries away from reading it, backfill or archive the data, and finally delete the field.

What is the best way to rename a table or field in a Convex database?

Renaming a table or field in a Convex database requires a multi-step migration: create the new schema entity, duplicate or backfill the data, update all application queries to reference the new name, and deprecate the old field.