breaking-schema-changes

Apply breaking SQLite schema migrations atomically in Rust projects.

3|3|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/quaid-app/quaid --skill breaking-schema-changes
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: breaking-schema-changes
Source: https://github.com/quaid-app/quaid/tree/main/.squad/skills/breaking-schema-changes
Command: npx skills add https://github.com/quaid-app/quaid --skill breaking-schema-changes

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Safely plan and execute breaking schema migrations in a Rust SQLite codebase to avoid cascading failures and ensure test fixtures stay in sync with schema changes.

Core Features & Use Cases

  • Atomic schema updates coordinated with changes to source files, tests, and fixtures.
  • Version-detection and preflight checks to prevent upgrades from proceeding with incompatible schemas.
  • Comprehensive change-risk auditing across callsites to keep the codebase stable during migrations.
  • Use Case: When bumping SCHEMA_VERSION or altering tables/columns, apply updates atomically and verify cargo test passes.

Quick Start

Coordinate atomic DDL changes with test fixture updates and run cargo test to verify the new schema across all tests.

Frequently Asked Questions about breaking-schema-changes

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

FAQPage Schema
How do I safely apply breaking schema migrations in a Rust SQLite project?

Breaking schema migrations in a Rust SQLite project are applied atomically by coordinating DDL changes with test fixture updates and version detection, ensuring cargo test passes before old paths are removed.

What is the best way to handle SQLite schema version bumps and table alterations in Rust?

Handling SQLite schema version bumps in Rust requires comprehensive callsite auditing and atomic schema updates, keeping old code paths stable until the new schema is verified through testing.

Why does cargo test fail after altering tables in an embedded schema.sql file?

Cargo test fails after altering an embedded schema.sql because test fixtures and callsites are out of sync, requiring coordinated atomic DDL updates and explicit fixture modifications to pass.

How do I coordinate DDL changes with test fixtures during a Rust SQLite migration?

Coordinating DDL changes with test fixtures during a Rust SQLite migration involves applying schema updates atomically, updating callsites, and modifying fixtures explicitly so cargo test verifies the new schema.

When do I need version detection and preflight checks for SQLite schema changes?

Version detection and preflight checks for SQLite schema changes are needed when bumping SCHEMA_VERSION or altering foreign keys, preventing upgrades from proceeding with incompatible schemas.

Can I remove old database access paths immediately after a schema migration in Rust?

Old database access paths cannot be removed immediately after a schema migration in Rust; they must remain until the new path is stable and verified by comprehensive callsite auditing and cargo test.