rails-zero-downtime-migrations
Rails Zero-Downtime Migrations
Skill Resources
- Activation and cross-agent notes: references/activation.md
- Use
ultrathinkor the deepest available reasoning mode before changing architecture, security, migration, or performance-critical paths. - Template: templates/migration-rollout.md
Task Focus for $ARGUMENTS
When this skill is invoked explicitly, treat $ARGUMENTS as the primary scope to optimize around: a repo path, component name, incident id, rollout target, or other concrete task boundary.
Every schema change on a production database is a potential outage. PostgreSQL's lock acquisition can queue requests, overflow connection pools, and bring down your application — even for operations that complete in milliseconds. This skill covers the patterns that prevent that.
The Hot-Compatibility Principle
Before writing a migration, ask: is every version of deployed application code compatible with both the old and new schema?
A deployment rollout means old code and new code run simultaneously against the same database for some window of time. Your migration must not break either version.