managing-database-migrations
Use when you need to work with database migrations.This skill provides schema migration management with comprehensive guidance and automation.Trigger with phrases like "create migration", "run migrations",or "manage schema versions".
When & Why to Use This Skill
This Claude skill streamlines database schema migration management by providing comprehensive automation and expert guidance. It supports major database systems including PostgreSQL, MySQL, and MongoDB, enabling users to create, execute, and version migrations safely. By following a structured workflow—from initial assessment to production deployment—the skill ensures that all structural changes are thoroughly tested, documented, and reversible, significantly reducing the risk of data loss or system downtime.
Use Cases
- Automated Schema Evolution: Generate and execute migration scripts for modifying database structures, such as adding tables, updating constraints, or altering column types.
- Environment Synchronization: Manage and track schema versions across development, staging, and production environments to ensure database consistency throughout the software development lifecycle.
- Risk-Mitigated Deployments: Implement complex database changes using a standardized 5-step process that includes pre-deployment validation, real-time monitoring, and automated rollback procedures.
- Cross-Platform Database Management: Utilize integrated bash tools (psql, mysql, mongosh) to perform migrations across different SQL and NoSQL database engines within a single interface.
- CI/CD Integration: Automate the validation and application of database migrations as part of a continuous integration and delivery pipeline to speed up release cycles.
| name | managing-database-migrations |
|---|---|
| description | | |
| - Bash(psql | *, mysql:*, mongosh:*) |
| version | 1.0.0 |
| license | MIT |
Prerequisites
Before using this skill, ensure:
- Required credentials and permissions for the operations
- Understanding of the system architecture and dependencies
- Backup of critical data before making structural changes
- Access to relevant documentation and configuration files
- Monitoring tools configured for observability
- Development or staging environment available for testing
Instructions
Step 1: Assess Current State
- Review current configuration, setup, and baseline metrics
- Identify specific requirements, goals, and constraints
- Document existing patterns, issues, and pain points
- Analyze dependencies and integration points
- Validate all prerequisites are met before proceeding
Step 2: Design Solution
- Define optimal approach based on best practices
- Create detailed implementation plan with clear steps
- Identify potential risks and mitigation strategies
- Document expected outcomes and success criteria
- Review plan with team or stakeholders if needed
Step 3: Implement Changes
- Execute implementation in non-production environment first
- Verify changes work as expected with thorough testing
- Monitor for any issues, errors, or performance impacts
- Document all changes, decisions, and configurations
- Prepare rollback plan and recovery procedures
Step 4: Validate Implementation
- Run comprehensive tests to verify all functionality
- Compare performance metrics against baseline
- Confirm no unintended side effects or regressions
- Update all relevant documentation
- Obtain approval before production deployment
Step 5: Deploy to Production
- Schedule deployment during appropriate maintenance window
- Execute implementation with real-time monitoring
- Watch closely for any issues or anomalies
- Verify successful deployment and functionality
- Document completion, metrics, and lessons learned
Output
This skill produces:
Implementation Artifacts: Scripts, configuration files, code, and automation tools
Documentation: Comprehensive documentation of changes, procedures, and architecture
Test Results: Validation reports, test coverage, and quality metrics
Monitoring Configuration: Dashboards, alerts, metrics, and observability setup
Runbooks: Operational procedures for maintenance, troubleshooting, and incident response
Error Handling
Permission and Access Issues:
- Verify credentials and permissions for all operations
- Request elevated access if required for specific tasks
- Document all permission requirements for automation
- Use separate service accounts for privileged operations
- Implement least-privilege access principles
Connection and Network Failures:
- Check network connectivity, firewalls, and security groups
- Verify service endpoints, DNS resolution, and routing
- Test connections using diagnostic and troubleshooting tools
- Review network policies, ACLs, and security configurations
- Implement retry logic with exponential backoff
Resource Constraints:
- Monitor resource usage (CPU, memory, disk, network)
- Implement throttling, rate limiting, or queue mechanisms
- Schedule resource-intensive tasks during low-traffic periods
- Scale infrastructure resources if consistently hitting limits
- Optimize queries, code, or configurations for efficiency
Configuration and Syntax Errors:
- Validate all configuration syntax before applying changes
- Test configurations thoroughly in non-production first
- Implement automated configuration validation checks
- Maintain version control for all configuration files
- Keep previous working configuration for quick rollback
Resources
Configuration Templates: {baseDir}/templates/database-migration-manager/
Documentation and Guides: {baseDir}/docs/database-migration-manager/
Example Scripts and Code: {baseDir}/examples/database-migration-manager/
Troubleshooting Guide: {baseDir}/docs/database-migration-manager-troubleshooting.md
Best Practices: {baseDir}/docs/database-migration-manager-best-practices.md
Monitoring Setup: {baseDir}/monitoring/database-migration-manager-dashboard.json