sm-engine-migration

Define and enforce standardized migration conventions for the Source Monitor Rails engine.

3|Updated Oct 16, 2025
One-click install
npx skills add https://github.com/dchuk/source_monitor --skill sm-engine-migration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sm-engine-migration
Source: https://github.com/dchuk/source_monitor/tree/main/.claude/skills/sm-engine-migration
Command: npx skills add https://github.com/dchuk/source_monitor --skill sm-engine-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Ensures consistent, safe, and portable database migrations for the Source Monitor Rails engine by standardizing table prefixes, naming conventions, data typing, and constraint strategies across all migrations.

Core Features & Use Cases

  • Establishes engine table prefixing (default: sourcemon_) and STI-compatible naming across all migrations.
  • Defines consistent JSONB defaults, nullability, and index/constraint strategies to improve reliability and rollback safety.
  • Provides guidance for reversible migrations, backfills, and data migration patterns to preserve data integrity during upgrades.
  • Serves as a centralized reference for host app migrations to maintain compatibility with engine upgrades.

Quick Start

Apply these conventions to all new migrations generated for the Source Monitor engine to ensure consistency and maintainability.

Frequently Asked Questions about sm-engine-migration

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

FAQPage Schema
How do I standardize Rails engine database migrations for consistent table prefixes and naming?

To enforce migration conventions, specify concrete requirements for table prefixes, JSONB defaults, nullability, constraint usage, and index strategies across all Source Monitor engine schema changes.

What is the best way to handle JSONB defaults and constraints in Rails engine migrations?

The best way to handle JSONB defaults is to define consistent nullability and constraint strategies within a centralized convention, improving reliability and rollback safety for engine migrations.

How do I write reversible migrations and backfills for a Rails engine schema?

Write reversible migrations and backfills by following established data migration patterns that preserve data integrity during engine upgrades, ensuring both forward and rollback operations execute safely.

Does this Rails engine migration convention require a specific table prefix for sources and items?

Yes, a default sourcemon_ table prefix is established for Source Monitor components like sources, items, fetch_logs, and scrape_logs to maintain compatibility during host application engine upgrades.

Why do Rails engine migrations need standardized index strategies and naming patterns?

Rails engine migrations need standardized index strategies and naming patterns to ensure schema portability, prevent data integrity issues, and maintain centralized compatibility reference during host app upgrades.