Entrada 4: Mas correciones al MF
# Bitácora de Sesión
Fecha: 01/06/2026
Inicio: [19:00] | Fin: [22:00] || Total: [3 horas]
Presente: Matías Benavides Sandoval
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
¿QUÉ HICIMOS HOY?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Se realizó una revisión profunda del modelo físico de la base de datos y se documentaron las inconsistencias más importantes.
- Se corrigieron problemas estructurales del esquema SQL base para acercarlo a la especificación del proyecto.
- Se alineó el backend con el esquema corregido, especialmente la conexión a la base de datos y los nombres de columnas usados por los controladores.
- Se recreó la base de datos desde cero a partir del script actualizado y se validó que el despliegue quedara consistente.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PROBLEMAS DETECTADOS Y CÓMO SE RESOLVIERON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Problema: llaves primarias sin
IDENTITYen tablas operativas.
- Causa: varias tablas que representan entidades transaccionales dependían de capturas manuales de ID.
- Solución: se ajustó el script
Tablas.sqlpara que las tablas no catálogicas usenIDENTITYdonde corresponde.
- Problema: tipos de datos incorrectos para horarios.
- Causa:
TipoJornada.HoraInicioyHoraFinno estaban modeladas como hora pura. - Solución: se cambiaron a tipo
timepara evitar ambigüedades de fecha.
- Problema: nombres de columnas y referencias inconsistentes.
- Causa: el backend esperaba nombres distintos a los declarados en el esquema, especialmente en
Usuarioy en tablas de bitácora. - Solución: se ajustaron las referencias del backend para coincidir con el modelo real y se corrigieron nombres mal definidos en SQL.
- Problema: dependencia circular entre tablas relacionadas con deducciones y planillas.
- Causa: la relación entre
DeduccionMensualyPlanillaMensualestaba planteada de forma que complicaba la creación limpia del esquema. - Solución: se reordenó la referencia para romper la circularidad y permitir recrear la base desde cero sin conflicto.
- Problema: falla inicial al compilar el proyecto TypeScript.
- Causa: el entorno local tenía dependencias enlazadas de forma incompleta.
- Solución: se reinstalaron dependencias con el gestor apropiado y luego la compilación terminó correctamente.
- Problema: ejecución de
sqlcmdcon error de certificado.
- Causa: el servidor local requería confiar explícitamente en el certificado para la conexión de prueba.
- Solución: se ejecutaron los comandos con la opción adecuada para confiar en el certificado y continuar con la recreación de la base.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DUDAS Y DIVERGENCIAS DE CRITERIO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Quedó pendiente decidir si la bitácora de eventos debe guardar trazabilidad completa en texto plano o en un formato más estructurado.
- Se identificó la necesidad de definir qué campos adicionales debe registrar
BitacoraEventopara cubrir mejor auditoría de operaciones críticas. - Sigue abierta la discusión sobre qué índices y restricciones únicas conviene agregar antes de implementar los procedimientos almacenados principales.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AVANCE DEL CÓDIGO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Se actualizó
SQL/SCRIPTS/Tablas.sqlcon correcciones al modelo físico. - Se ajustó
src/db/connection.tspara apuntar a la base correcta. - Se alinearon controladores del backend con los nombres reales del esquema.
- Se creó y dejó registrado el archivo
AGENTS.mdcomo guía operativa del proyecto. - Se generó el documento de auditoría del modelo para dejar constancia de los hallazgos y prioridades.
- Se validó que la base
PlanillaDBpudiera recrearse desde cero a partir del script corregido.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MORALEJAS / BUENAS PRÁCTICAS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Revisar siempre el modelo físico contra la especificación antes de crear o volver a crear la base.
- Alinear nombres de columnas, tablas y parámetros entre SQL y backend desde el inicio evita errores costosos.
- Validar el script completo de creación después de cada cambio grande, no solo fragmentos aislados.
- Mantener una guía operativa clara ayuda a que el trabajo sea repetible y más fácil de continuar.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PRÓXIMA SESIÓN: ¿QUÉ SIGUE?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Implementar los procedimientos almacenados base que consumirá el backend.
- Definir la estructura final de la tabla de bitácora para auditoría.
- Agregar índices y restricciones faltantes antes de entrar a pruebas funcionales.
- Empezar la conexión real entre el listado de empleados y el endpoint del backend.
Comentarios
Publicar un comentario