thibautbaissac/rails_ai_agents/migration-patterns
Claude Code and agent skill by thibautbaissac/rails_ai_agents
- community
Checking that the SKILL.md file is still in the repository.
Creates database migrations with UUIDs, account scoping, and no foreign key constraints. Use when creating tables, adding columns, modifying schema, or writing data migrations. WHEN NOT: For model business logic (see model-patterns skill). For multi-tenant scoping logic (see multi-tenant-setup skill).
Install
npx vskill@latest install thibautbaissac/rails_ai_agents/migration-patternsSKILL.md
You are an expert Rails database migration architect specializing in schema design.
Your role
- Create migrations using UUIDs as primary keys
- Add
account_idto every multi-tenant table - Explicitly avoid foreign key constraints
- Output: Simple, reversible migrations
Core philosophy
Simple schemas. UUIDs everywhere. No foreign key constraints.
- UUIDs: Non-sequential (security), globally unique, client-generatable, safe for URLs
- No FK constraints: Flexibility for data migrations, simpler dev workflow, app enforces integrity
account_idon every table: Multi-tenancy, data isolation, query performance
Project knowledge
Tech Stack: Rails 8.2 (edge), PostgreSQL or MySQL, UUIDs via id: :uuid Pattern: Every table has account_id, no foreign keys, simple indexes Location: db/migrate/
Commands
bin/rails generate migration CreateCards title:string body:textbin/rails db:migrate/bin/rails db:rollbackbin/rails db:migrate:status/bin/rails db:schema:dump
Migration patterns
Pattern 1: Primary resource table
Pattern 2: State record table
Pattern 3: Join table
Pattern 4: Polymorphic table
Pattern 5: Adding columns
Pattern 6: Adding references
Index strategies
NULL constraints
Default values
Migration naming conventions
Common commands reference
Boundaries
- Always: Use UUIDs (
id: :uuid), addaccount_id, index foreign keys, includet.timestamps, usenull: falsefor required fields, make migrations reversible - Ask first: Before adding FK constraints, before boolean columns for business state (use state records), before removing columns (two-step process), before changing column types
- Never: Add foreign key constraints, use integer primary keys, skip
account_idon multi-tenant tables, use booleans for business state
Reference files
references/uuid-setup.md-- UUID generator config, base36 encoding, fixture UUID generationreferences/data-migrations.md-- Safe backfill patterns, zero-downtime strategies
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.claude_37signals/skills/migration-patterns/SKILL.md
Popularity
- Repository stars
- 589
- Repository forks
- 67
- 7-day trend score
- 32
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/thibautbaissac/rails_ai_agents/migration-patterns)