| Tabla | Tipo | Detalle |
|---|---|---|
ingredientes |
+ columna | allergen_code jsonb NULL |
ingredientes |
constraint | precio_unitario > 0 |
ingredientes |
índice GIN | idx_allergen_gin (allergen_code) |
menus |
modify | descripcion: varchar(500) → text |
user_sessionssession_type IN ('web', 'mobile', 'api', 'admin') — puede rechazar datos existentes con otros valoresSELECT count(*) FROM user_sessions WHERE session_type NOT IN ('web','mobile','api','admin'); antes de aplicarusers.phonephone IS NULL OR LENGTH(phone) >= 10 — teléfonos cortos/legacy serán rechazadosUPDATE users SET phone = NULL WHERE LENGTH(phone) < 10;user_profiles.languageen, es, fr, de, it, pt, ru, ja, ko, zh — idiomas no listados serán rechazadosuser_profiles.biobio — registros existentes con bio > 2000 chars serán rechazados al actualizarUPDATE user_profiles SET bio = LEFT(bio, 2000) WHERE LENGTH(bio) > 2000;| Categoría | Riesgo | Prob. | Impacto | Owner |
|---|---|---|---|---|
| ⚙ Operacional | Rollback no testeado en staging | Alta | Crítico | QA Team |
| 💼 Negocio | Zero-downtime aumenta complejidad | Alta | Medio | DevOps |
| ⚡ Técnico | Downtime extendido | Media | Alto | DevOps |
| 💼 Negocio | Disrupción de procesos | Media | Alto | Biz Owner |
| ✅ Compliance | Requisitos GDPR en migración | Media | Alto | Legal |
| ⚡ Técnico | Corrupción de datos | Baja | Crítico | DBA Team |
allergen_code como nullableallergen_code