db-migrate
[IMPORTANT] Use
TaskCreateto break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ask user whether to skip.
Prerequisites: MUST READ before executing:
.claude/skills/shared/understand-code-first-protocol.md.claude/skills/shared/evidence-based-reasoning-protocol.mddocs/project-reference/domain-entities-reference.md— Domain entity catalog, relationships, cross-service sync (read when task involves business entities/models)
Quick Summary
Goal: Create or run database migrations (EF Core migrations, MongoDB data migrations) following platform patterns.
Workflow:
- Identify — Determine migration type (EF schema vs data migration)
- Create — Generate migration using
dotnet efor project data migration executor (see docs/project-reference/backend-patterns-reference.md) - Verify — Run migration and confirm schema/data changes
Key Rules:
- Follow platform migration patterns from CLAUDE.md
- Always backup data before destructive migrations
- Use project data migration executor for MongoDB data migrations (see docs/project-reference/backend-patterns-reference.md)
Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).
Database migration: $ARGUMENTS
Instructions
-
Parse arguments:
add <name>→ Create new EF Core migrationupdate→ Apply pending migrationslist→ List all migrations and statusrollback→ Revert last migration- No argument → Show migration status
-
Identify database provider from project:
- SQL Server: Search for
*.Persistenceprojects - PostgreSQL: Search for
*.Persistence.PostgreSqlprojects - MongoDB: Uses project Mongo migration executor (code-based, see docs/project-reference/backend-patterns-reference.md)
- SQL Server: Search for
-
For EF Core (SQL Server/PostgreSQL):
Add migration:
cd src/{ExampleApp}/{ExampleApp}.TextSnippet.Persistence dotnet ef migrations add <MigrationName> --startup-project ../{ExampleApp}.TextSnippet.ApiUpdate database:
dotnet ef database update --startup-project ../{ExampleApp}.TextSnippet.ApiList migrations:
dotnet ef migrations list --startup-project ../{ExampleApp}.TextSnippet.Api -
For MongoDB migrations:
- MongoDB uses code-based migrations via project Mongo migration executor (see docs/project-reference/backend-patterns-reference.md)
- Location:
*.Persistence.Mongo/Migrations/ - Migrations run automatically on application startup
- To create: Generate new migration class following existing patterns
-
Safety checks:
- Warn before applying migrations to production
- Show what changes will be applied
- Recommend backup before destructive operations
IMPORTANT Task Planning Notes (MUST FOLLOW)
- Always plan and break work into many small todo tasks
- Always add a final review todo task to verify work quality and identify fixes/enhancements