diff --git a/tareas/260118_tareas_tablas.md b/tareas/260118_tareas_tablas.md new file mode 100644 index 0000000..c425729 --- /dev/null +++ b/tareas/260118_tareas_tablas.md @@ -0,0 +1,82 @@ +# TAREAS PENDIENTES - Tablas TZZR + +## Estado: 2026-01-18 + +--- + +## 1. Triggers para set_hst (PRIORIDAD ALTA) + +### Situación actual +- FK creada: `set_hst → hst.mrf` en 16 tablas +- Falta validación contra `hst_rules.hst_permitidos` + +### Tarea +Crear trigger `validar_set_hst_por_tabla()` que: +1. Consulte `hst_rules` para la tabla actual +2. Verifique que el `set_hst` está en `hst_permitidos` +3. Rechace si no está permitido + +### Tablas afectadas +- tzzr_storage.atc +- tzzr_core_itm_base.itm, loc, ply +- tzzr_core_produccion.mth +- tzzr_core_secretaria.secretaria_bck, secretaria_mst +- tzzr_core_oracle.oracle_mst +- Y demás tablas con set_hst + +--- + +## 2. Campo hashtags (ANÁLISIS COMPLETADO - DECISIÓN PENDIENTE) + +### Situación actual +- 15 tablas tienen campo `hashtags` (JSONB) +- Contienen **texto legible**: `["payment", "cable", "invoice"]` +- **228 tags únicos**, 2,747 usos totales +- Deberían contener **hashes mrf** referenciando `hst` + +### Problema detectado +Los tags de texto son ambiguos y no mapean 1:1 a entradas hst: +- "cable" → 6 entradas hst diferentes (plano, cinta, rígido, link...) +- "compra" → 4 entradas hst diferentes +- "2025" → 3 entradas hst diferentes + +**Crear hst automáticamente NO es viable** - contaminaría la tabla curada (1077 entradas) con datos duplicados/ambiguos. + +### Opciones +| Opción | Pros | Contras | +|--------|------|---------| +| **A. Deprecar** | Sin pérdida, backward compatible | Campo legacy permanece | +| **B. Limpiar** | Limpio, fuerza uso correcto | Pierde datos legacy | +| **C. Curación manual** | Preserva valor | Costoso en tiempo | +| **D. Ignorar** | Nada que hacer | Deuda técnica | + +### Recomendación +**Opción A + validación**: +1. Mantener hashtags texto como legacy (read-only) +2. Crear campo `hashtags_mrf` (JSONB) para nuevos tags validados +3. Trigger que valide que todos los mrf existen en `hst` +4. Gradualmente migrar cuando sea necesario + +--- + +## 3. Sincronización hst_rules + +### Tarea +Verificar que `hst_rules` esté sincronizada entre: +- DECK (tzzr.tzzr_core_hst.hst_rules) +- HST (pendiente verificar) + +--- + +## 4. Campo set_flg + +### Situación +- Campo similar a set_hst pero para flags +- Investigar tablas que lo usan +- Documentar restricciones necesarias + +--- + +## Historial +- 2026-01-18: Análisis hashtags completado. Migración automática descartada. +- 2026-01-18: FK set_hst creadas en 16 tablas (datos inválidos limpiados)