name: alembic-migration-manager description: A skill for managing database migrations with Alembic. Use this for tasks involving Alembic initialization, configuration, creating new migration scripts (both autogenerated and manual), defining upgrade and downgrade logic, handling data migrations, testing migrations, performing rollbacks, and following production deployment best practices for database changes.
Alembic Migration Management
This skill provides a comprehensive guide to managing database schema and data migrations using Alembic.
Core Workflow
-
Initialization & Configuration: Set up Alembic for a new project.
- See
references/01_initialization_and_configuration.mdfor detailed setup instructions and configuration templates.
- See
-
Generating Migrations: Create new migration files.
- See
references/02_generating_migrations.mdfor guidance onautogeneratevs. manual creation.
- See
-
Writing Migration Scripts: Implement the upgrade and downgrade logic.
- See
references/03_migration_script_patterns.mdfor common patterns and examples (creating tables, adding columns).
- See
-
Handling Data Migrations: Perform data backfilling or transformations.
- See
references/04_data_migrations.mdfor patterns and safety checks.
- See
-
Testing & CI/CD: Ensure migrations are safe and automated.
- See
references/05_testing_and_ci_cd.mdfor testing strategies and CI/CD integration examples.
- See
-
Deployment & Rollbacks: Manage migrations in production.
- See
references/06_rollbacks_and_production.mdfor a production checklist and a rollback playbook.
- See
Bundled Resources
- Configuration Templates:
assets/alembic.ini.template: A ready-to-use template foralembic.ini.assets/env.py.template: A template forenv.pyto connect to your database and models.