Migration Configuration
Migration Principles
Add Enum Value
Backward compatible, safe to deploy. Update code first, then database.
Remove Enum Value
High-risk operation. Must migrate data first, confirm no references before deletion.
Rename Enum Value
Requires multi-step migration: add new value, migrate data, remove old value.
Risk Warnings
• Must confirm no database references before deleting enum values
• Renaming requires phased deployment to avoid incompatibility
• Reordering numeric enums will corrupt data
• Always backup database first
• Consider rollback plan
Best Practices
• Use string enums instead of numbers
• Keep deprecated enum values with DEPRECATED marker
• Fully validate in test environment
• Phased deployment: Database → Backend → Frontend
• Record migration time and version