# CHECKLIST: Sincronización Base de Datos **Versión:** 1.0.0 **Alias:** @CHK_SYNC_BD **Referencia:** SIMCO-SINCRONIZACION-BD.md **Items Totales:** 70 **Fecha:** 2026-01-10 --- ## Instrucciones de Uso 1. Ejecutar después de CUALQUIER cambio en DDL 2. Marcar cada item conforme se valida `[x]` 3. Si un item no aplica, marcar `[N/A]` con razón 4. NO omitir la ejecución de recreación (paso 3) 5. Guardar checklist completado como evidencia --- ## 1. PRE-SINCRONIZACIÓN (10 items) **Objetivo:** Preparar ambiente para sincronización - [ ] 1.1 Backup de BD realizado (si tiene datos importantes) - [ ] 1.2 Estado inicial de BD documentado - [ ] 1.3 Lista de cambios DDL a sincronizar preparada - [ ] 1.4 Objetos dependientes identificados (tablas, views, funciones) - [ ] 1.5 No hay transacciones pendientes en BD - [ ] 1.6 Scripts actuales revisados - [ ] 1.7 Permisos de ejecución de scripts verificados - [ ] 1.8 Versión actual de schemas documentada - [ ] 1.9 Changelog de BD revisado - [ ] 1.10 Ambiente de trabajo confirmado (dev/staging) **Cambios DDL a sincronizar:** ``` [Listar aquí los cambios específicos] - - ``` --- ## 2. SINCRONIZACIÓN DDL → SCRIPTS (15 items) **Objetivo:** Actualizar scripts de creación de BD ### Archivos DDL - [ ] 2.1 Archivo DDL actualizado/creado en ubicación correcta - [ ] 2.2 Sintaxis SQL válida - [ ] 2.3 Schema especificado en objetos ### Scripts Principales - [ ] 2.4 create-database.sh actualizado - [ ] 2.5 recreate-database.sh actualizado - [ ] 2.6 drop-database.sh actualizado (si existe) ### Orden de Ejecución - [ ] 2.7 Extensiones declaradas primero - [ ] 2.8 Schemas creados en orden correcto - [ ] 2.9 Tablas sin FK creadas antes que tablas con FK - [ ] 2.10 Dependencias entre tablas respetadas - [ ] 2.11 Constraints agregados después de tablas ### Objetos Adicionales - [ ] 2.12 Índices incluidos en scripts - [ ] 2.13 Funciones incluidas en scripts - [ ] 2.14 Triggers incluidos en scripts - [ ] 2.15 RLS policies incluidas en scripts **Scripts modificados:** ``` [Listar scripts modificados] - - ``` --- ## 3. EJECUCIÓN DE RECREACIÓN (10 items) **Objetivo:** Validar que scripts funcionan correctamente ### Pre-Ejecución - [ ] 3.1 Variables de entorno configuradas - [ ] 3.2 Conexiones a BD cerradas ### Ejecución - [ ] 3.3 Ejecutar recreate-database.sh - [ ] 3.4 Sin errores de sintaxis SQL - [ ] 3.5 Sin errores de dependencias ### Post-Ejecución - [ ] 3.6 Todos los schemas creados - [ ] 3.7 Todas las tablas creadas - [ ] 3.8 Todos los constraints activos - [ ] 3.9 Todos los índices creados - [ ] 3.10 Seeds ejecutados (si aplica) **Resultado de recreación:** ``` [Pegar output relevante o confirmar éxito] ``` --- ## 4. SINCRONIZACIÓN DDL → BACKEND (15 items) **Objetivo:** Actualizar código backend para reflejar cambios DDL ### Entities - [ ] 4.1 Entity creada/actualizada para tabla modificada - [ ] 4.2 Decoradores @Column correctos - [ ] 4.3 Tipos TypeScript correctos vs tipos SQL - [ ] 4.4 Relaciones (@ManyToOne, @OneToMany, etc.) actualizadas - [ ] 4.5 Decoradores de validación actualizados ### DTOs - [ ] 4.6 CreateDTO actualizado - [ ] 4.7 UpdateDTO actualizado - [ ] 4.8 ResponseDTO actualizado - [ ] 4.9 Validadores (class-validator) actualizados ### Servicios y Repositorios - [ ] 4.10 Repository actualizado si nuevos métodos necesarios - [ ] 4.11 Service actualizado si lógica de negocio afectada - [ ] 4.12 Controller actualizado si endpoints afectados ### Tests - [ ] 4.13 Tests de entity actualizados - [ ] 4.14 Tests de service actualizados - [ ] 4.15 Tests e2e actualizados **Archivos backend modificados:** ``` [Listar archivos] - - ``` --- ## 5. SINCRONIZACIÓN DDL → FRONTEND (10 items) **Objetivo:** Actualizar código frontend para reflejar cambios de API *Nota: Solo aplica si los cambios de BD afectan la API* ### Types - [ ] 5.1 Types/interfaces actualizados - [ ] 5.2 DTOs frontend actualizados (si los hay) ### Componentes - [ ] 5.3 Formularios actualizados (nuevos campos) - [ ] 5.4 Validaciones frontend actualizadas - [ ] 5.5 Componentes de visualización actualizados ### Estado y Queries - [ ] 5.6 Queries/mutations actualizados - [ ] 5.7 Estado (store) actualizado si aplica ### Tests - [ ] 5.8 Tests frontend actualizados - [ ] 5.9 Mocks actualizados - [ ] 5.10 Fixtures actualizados **Archivos frontend modificados:** ``` [Listar archivos o marcar N/A si no aplica] - - ``` --- ## 6. ACTUALIZACIÓN DE INVENTARIOS (10 items) **Objetivo:** Mantener inventarios como SSOT ### DATABASE_INVENTORY.yml - [ ] 6.1 Schemas actualizados (count, lista) - [ ] 6.2 Tablas actualizadas (nuevas, modificadas) - [ ] 6.3 Conteo de columnas actualizado - [ ] 6.4 Funciones documentadas - [ ] 6.5 Triggers documentados - [ ] 6.6 Views documentadas ### BACKEND_INVENTORY.yml - [ ] 6.7 Entities listadas/actualizadas - [ ] 6.8 Endpoints actualizados ### MASTER_INVENTORY.yml - [ ] 6.9 Resumen de BD actualizado - [ ] 6.10 Fecha de actualización cambiada **Inventarios modificados:** ``` [Confirmar actualización] - [ ] DATABASE_INVENTORY.yml - [ ] BACKEND_INVENTORY.yml - [ ] MASTER_INVENTORY.yml ``` --- ## RESUMEN DE EJECUCIÓN | Sección | Items | Completados | N/A | Pendientes | |---------|-------|-------------|-----|------------| | 1. Pre-Sincronización | 10 | | | | | 2. DDL → Scripts | 15 | | | | | 3. Ejecución Recreación | 10 | | | | | 4. DDL → Backend | 15 | | | | | 5. DDL → Frontend | 10 | | | | | 6. Inventarios | 10 | | | | | **TOTAL** | **70** | | | | --- ## RESULTADO | Campo | Valor | |-------|-------| | **Fecha de ejecución** | {YYYY-MM-DD} | | **Ejecutado por** | {nombre/agente} | | **Proyecto** | {nombre del proyecto} | | **Cambio DDL** | {descripción breve del cambio} | | **Resultado** | {EXITOSO / CON ERRORES / REQUIERE REVISIÓN} | ### Resumen de Cambios DDL ``` [Describir cambios realizados] ``` ### Errores Encontrados ``` [Listar errores y cómo se resolvieron] ``` ### Validaciones Adicionales Realizadas ``` [Otras validaciones realizadas] ``` --- **Referencia:** @SYNC_BD