Some checks are pending
CI Pipeline / changes (push) Waiting to run
CI Pipeline / core (push) Blocked by required conditions
CI Pipeline / trading-backend (push) Blocked by required conditions
CI Pipeline / trading-data-service (push) Blocked by required conditions
CI Pipeline / trading-frontend (push) Blocked by required conditions
CI Pipeline / erp-core (push) Blocked by required conditions
CI Pipeline / erp-mecanicas (push) Blocked by required conditions
CI Pipeline / gamilit-backend (push) Blocked by required conditions
CI Pipeline / gamilit-frontend (push) Blocked by required conditions
Backend: - Fix email verification and password recovery services - Fix exercise submission and student progress services Frontend: - Update missions, password, and profile API services - Fix ExerciseContentRenderer component Docs & Scripts: - Add SSL/Certbot deployment guide - Add quick deployment guide - Database scripts for testing and validations - Migration and homologation reports - Functions inventory documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1213 lines
35 KiB
Markdown
1213 lines
35 KiB
Markdown
# REPORTE DE HOMOLOGACIÓN - SCRIPTS DE BASE DE DATOS
|
|
|
|
**Fecha:** 2025-12-18
|
|
**Analista:** DevOps Analyst
|
|
**Proyecto:** GAMILIT Platform
|
|
**Versión:** 1.0
|
|
|
|
---
|
|
|
|
## RESUMEN EJECUTIVO
|
|
|
|
### Objetivo
|
|
Comparar los scripts de base de datos entre el proyecto ORIGEN (producción actual) y DESTINO (workspace legacy) para identificar scripts faltantes, obsoletos y diferencias críticas.
|
|
|
|
### Conclusión Principal
|
|
El proyecto DESTINO (legacy) contiene **14 scripts adicionales** respecto al ORIGEN, incluyendo:
|
|
- 6 scripts de validación SQL
|
|
- 2 scripts deprecados históricos
|
|
- 2 scripts de documentación adicionales
|
|
- 1 script Python de validación
|
|
- 3 scripts específicos de testing/migración
|
|
|
|
### Hallazgos Clave
|
|
- **ORIGEN:** 22 archivos (13 .sh, 0 .sql, 0 .py)
|
|
- **DESTINO:** 36 archivos (13 .sh, 13 .sql, 1 .py, 1 subdirectorio deprecated/, 1 subdirectorio testing/)
|
|
- **Scripts idénticos:** 13 archivos .sh core (mismo tamaño y contenido)
|
|
- **Scripts únicos en DESTINO:** 14 archivos
|
|
- **Scripts únicos en ORIGEN:** 0 archivos
|
|
|
|
---
|
|
|
|
## 1. INVENTARIO COMPLETO DE SCRIPTS
|
|
|
|
### 1.1 Proyecto ORIGEN (Producción Actual)
|
|
**Ubicación:** `/home/isem/workspace/projects/gamilit/apps/database/scripts/`
|
|
|
|
#### Scripts de Inicialización (4)
|
|
| Archivo | Tipo | Tamaño | Propósito |
|
|
|---------|------|--------|-----------|
|
|
| `init-database.sh` | Shell | 1091 líneas | Inicialización completa (v3.0) |
|
|
| `init-database-v3.sh` | Shell | - | Versión específica v3 |
|
|
| `recreate-database.sh` | Shell | - | Recreación completa (elimina todo) |
|
|
| `reset-database.sh` | Shell | - | Reset (mantiene usuario) |
|
|
|
|
#### Scripts de Gestión (3)
|
|
| Archivo | Tipo | Propósito |
|
|
|---------|------|-----------|
|
|
| `manage-secrets.sh` | Shell | Gestión de secrets con dotenv-vault |
|
|
| `update-env-files.sh` | Shell | Sincronización de archivos .env |
|
|
| `cleanup-duplicados.sh` | Shell | Limpieza de registros duplicados |
|
|
|
|
#### Scripts de Validación (3)
|
|
| Archivo | Tipo | Propósito |
|
|
|---------|------|-----------|
|
|
| `validate-ddl-organization.sh` | Shell | Validación de organización DDL |
|
|
| `verify-missions-status.sh` | Shell | Verificación de misiones |
|
|
| `verify-users.sh` | Shell | Verificación de usuarios |
|
|
|
|
#### Scripts de Carga de Datos (1)
|
|
| Archivo | Tipo | Propósito |
|
|
|---------|------|-----------|
|
|
| `load-users-and-profiles.sh` | Shell | Carga de usuarios y perfiles |
|
|
|
|
#### Scripts de Tareas Específicas (2)
|
|
| Archivo | Tipo | Propósito |
|
|
|---------|------|-----------|
|
|
| `DB-127-validar-gaps.sh` | Shell | Validación de gaps (tarea DB-127) |
|
|
| `fix-duplicate-triggers.sh` | Shell | Corrección de triggers duplicados |
|
|
|
|
#### Subdirectorio: inventory/ (8 scripts)
|
|
| Archivo | Propósito |
|
|
|---------|-----------|
|
|
| `generate-all-inventories.sh` | Generador maestro de inventarios |
|
|
| `list-enums.sh` | Inventario de ENUMs |
|
|
| `list-functions.sh` | Inventario de funciones |
|
|
| `list-indexes.sh` | Inventario de índices |
|
|
| `list-rls.sh` | Inventario de RLS policies |
|
|
| `list-seeds.sh` | Inventario de seeds |
|
|
| `list-tables.sh` | Inventario de tablas |
|
|
| `list-triggers.sh` | Inventario de triggers |
|
|
| `list-views.sh` | Inventario de vistas |
|
|
|
|
#### Subdirectorio: config/ (2 archivos)
|
|
| Archivo | Propósito |
|
|
|---------|-----------|
|
|
| `dev.conf` | Configuración de desarrollo |
|
|
| `prod.conf` | Configuración de producción |
|
|
|
|
**TOTAL ORIGEN: 22 archivos ejecutables + 2 config**
|
|
|
|
---
|
|
|
|
### 1.2 Proyecto DESTINO (Workspace Legacy)
|
|
**Ubicación:** `/home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit/apps/database/scripts/`
|
|
|
|
#### Scripts adicionales en DESTINO
|
|
|
|
##### Scripts SQL de Validación (6)
|
|
| Archivo | Propósito | Fecha Creación | Estado |
|
|
|---------|-----------|----------------|--------|
|
|
| `validate-seeds-integrity.sql` | Validación exhaustiva de seeds | 2025-11-15 | Funcional |
|
|
| `validate-gap-fixes.sql` | Validación de gaps DB-127 | 2025-11-24 | Funcional |
|
|
| `validate-missions-objectives-structure.sql` | Validación de estructura de misiones | - | Funcional |
|
|
| `validate-update-user-rank-fix.sql` | Validación de corrección de rangos | - | Funcional |
|
|
| `validate-user-initialization.sql` | Validación de inicialización de usuarios | - | Funcional |
|
|
| `validate-generate-alerts-joins.sql` | Validación de joins en alertas | - | Funcional |
|
|
|
|
##### Scripts SQL de Operaciones (3)
|
|
| Archivo | Propósito | Fecha | Estado |
|
|
|---------|-----------|-------|--------|
|
|
| `VALIDACION-RAPIDA-RECREACION-2025-11-24.sql` | Validación post-recreación | 2025-11-24 | Puntual |
|
|
| `VALIDACIONES-RAPIDAS-POST-RECREACION.sql` | Validaciones post-recreación | - | Funcional |
|
|
| `apply-maya-ranks-v2.1.sql` | Aplicación de rangos Maya v2.1 | - | Migración |
|
|
|
|
##### Scripts Python (1)
|
|
| Archivo | Propósito | Fecha | Estado |
|
|
|---------|-----------|-------|--------|
|
|
| `validate_integrity.py` | Validación exhaustiva de integridad | 2025-11-07 | Funcional |
|
|
|
|
##### Subdirectorio: deprecated/ (3)
|
|
| Archivo | Propósito | Estado |
|
|
|---------|-----------|--------|
|
|
| `init-database-v1.sh` | Versión 1.0 de init-database | Obsoleto (histórico) |
|
|
| `init-database-v2.sh` | Versión 2.0 de init-database | Obsoleto (histórico) |
|
|
| `init-database.sh.backup-20251102-235826` | Backup de v1.0 | Obsoleto (histórico) |
|
|
|
|
##### Subdirectorio: testing/ (1)
|
|
| Archivo | Propósito | Estado |
|
|
|---------|-----------|--------|
|
|
| `CREAR-USUARIOS-TESTING.sql` | Creación de usuarios de prueba | Testing |
|
|
|
|
##### Documentación Adicional (3)
|
|
| Archivo | Propósito | Fecha | Estado |
|
|
|---------|-----------|-------|--------|
|
|
| `INDEX.md` | Índice maestro de scripts | 2025-11-08 | Activo |
|
|
| `QUICK-START.md` | Guía rápida | 2025-11-08 | Activo |
|
|
| `README-VALIDATION-SCRIPTS.md` | Guía de scripts de validación | 2025-11-24 | Activo |
|
|
|
|
**TOTAL DESTINO: 36 archivos ejecutables + 3 docs + 2 config**
|
|
|
|
---
|
|
|
|
## 2. ANÁLISIS COMPARATIVO
|
|
|
|
### 2.1 Scripts Comunes (Idénticos)
|
|
|
|
Los siguientes 13 scripts .sh están presentes en ambos proyectos con **contenido idéntico** (mismo número de líneas):
|
|
|
|
| Script | Estado | Versión |
|
|
|--------|--------|---------|
|
|
| `init-database.sh` | Idéntico | 1091 líneas |
|
|
| `recreate-database.sh` | Idéntico | - |
|
|
| `reset-database.sh` | Idéntico | - |
|
|
| `manage-secrets.sh` | Idéntico | - |
|
|
| `update-env-files.sh` | Idéntico | - |
|
|
| `cleanup-duplicados.sh` | Idéntico | - |
|
|
| `validate-ddl-organization.sh` | Idéntico | - |
|
|
| `verify-missions-status.sh` | Idéntico | - |
|
|
| `verify-users.sh` | Idéntico | - |
|
|
| `load-users-and-profiles.sh` | Idéntico | - |
|
|
| `DB-127-validar-gaps.sh` | Idéntico | - |
|
|
| `fix-duplicate-triggers.sh` | Idéntico | - |
|
|
| `init-database-v3.sh` | Idéntico | - |
|
|
|
|
**Conclusión:** Los scripts core están sincronizados entre ambos proyectos.
|
|
|
|
---
|
|
|
|
### 2.2 Scripts Únicos en DESTINO (14 archivos)
|
|
|
|
#### Categoría A: Scripts de Validación SQL (CRÍTICOS) - 6 archivos
|
|
|
|
##### 1. `validate-seeds-integrity.sql`
|
|
**Propósito:** Validación exhaustiva de integridad referencial de seeds
|
|
|
|
**Funcionalidad:**
|
|
- Valida conteos básicos (users = profiles = user_stats = user_ranks)
|
|
- Verifica integridad referencial (sin registros huérfanos)
|
|
- Valida contenido educativo (módulos >= 5, ejercicios >= 50, achievements >= 15)
|
|
- Valida features sociales (friendships >= 8, schools >= 2)
|
|
- Genera reporte final con estado de la BD
|
|
|
|
**Valor:**
|
|
- **ALTO** - Esencial para validar post-inicialización
|
|
- Detecta problemas de triggers no ejecutados
|
|
- Valida integridad de FK
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/validations/validate-seeds-integrity.sql`
|
|
|
|
---
|
|
|
|
##### 2. `validate-gap-fixes.sql`
|
|
**Propósito:** Validar que los 3 gaps identificados en DB-127 estén resueltos
|
|
|
|
**Gaps validados:**
|
|
- GAP-DB-001: `activity_log` con `entity_type`, `entity_id`
|
|
- GAP-DB-002: Vista `auth.tenants` (alias)
|
|
- GAP-DB-003: `classrooms.is_deleted`
|
|
|
|
**Funcionalidad:**
|
|
- Valida existencia de tablas y columnas
|
|
- Ejecuta queries del backend para confirmar compatibilidad
|
|
- Valida índices y vistas
|
|
|
|
**Valor:**
|
|
- **MEDIO** - Específico para tarea DB-127
|
|
- Útil para validaciones post-migración
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN** (si DB-127 sigue activo)
|
|
|
|
**Ubicación sugerida:** `scripts/validations/validate-gap-fixes.sql`
|
|
|
|
---
|
|
|
|
##### 3. `validate-missions-objectives-structure.sql`
|
|
**Propósito:** Validar estructura de misiones y objetivos
|
|
|
|
**Valor:** **MEDIO** - Específico para módulo de misiones
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/validations/validate-missions-structure.sql`
|
|
|
|
---
|
|
|
|
##### 4. `validate-update-user-rank-fix.sql`
|
|
**Propósito:** Validar corrección de función `update_user_rank()`
|
|
|
|
**Valor:** **MEDIO** - Validación puntual de fix
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN** (si el fix está en producción)
|
|
|
|
**Ubicación sugerida:** `scripts/validations/validate-user-rank-fix.sql`
|
|
|
|
---
|
|
|
|
##### 5. `validate-user-initialization.sql`
|
|
**Propósito:** Validar inicialización correcta de usuarios nuevos
|
|
|
|
**Valor:** **ALTO** - Validación crítica de triggers
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/validations/validate-user-initialization.sql`
|
|
|
|
---
|
|
|
|
##### 6. `validate-generate-alerts-joins.sql`
|
|
**Propósito:** Validar joins en función de generación de alertas
|
|
|
|
**Valor:** **MEDIO** - Específico para módulo de alertas
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/validations/validate-alerts-joins.sql`
|
|
|
|
---
|
|
|
|
#### Categoría B: Scripts de Operaciones SQL - 3 archivos
|
|
|
|
##### 7. `VALIDACION-RAPIDA-RECREACION-2025-11-24.sql`
|
|
**Propósito:** Validación puntual post-recreación del 2025-11-24
|
|
|
|
**Valor:** **BAJO** - Script puntual, fecha específica
|
|
|
|
**Recomendación:** **NO MIGRAR** (histórico)
|
|
|
|
**Acción:** Documentar en changelog como referencia
|
|
|
|
---
|
|
|
|
##### 8. `VALIDACIONES-RAPIDAS-POST-RECREACION.sql`
|
|
**Propósito:** Validaciones genéricas post-recreación de BD
|
|
|
|
**Valor:** **ALTO** - Útil después de cada recreate-database.sh
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/validations/post-recreate-validations.sql`
|
|
|
|
---
|
|
|
|
##### 9. `apply-maya-ranks-v2.1.sql`
|
|
**Propósito:** Script de migración para aplicar rangos Maya v2.1
|
|
|
|
**Valor:** **BAJO** - Migración puntual (ya aplicada)
|
|
|
|
**Recomendación:** **NO MIGRAR** (guardar en migrations/)
|
|
|
|
**Acción:** Mover a `scripts/migrations/historical/apply-maya-ranks-v2.1.sql`
|
|
|
|
---
|
|
|
|
#### Categoría C: Script Python de Validación - 1 archivo
|
|
|
|
##### 10. `validate_integrity.py`
|
|
**Propósito:** Validación exhaustiva de integridad usando Python
|
|
|
|
**Funcionalidad:**
|
|
- Extrae ENUMs, tablas, funciones, triggers
|
|
- Valida Foreign Keys
|
|
- Valida referencias de ENUMs en tablas
|
|
- Valida correcciones específicas (notification_type, achievement_category, transaction_type)
|
|
- Busca funciones con referencias rotas
|
|
- Busca triggers con referencias rotas
|
|
- Detecta ENUMs duplicados
|
|
|
|
**Valor:**
|
|
- **ALTO** - Herramienta de análisis estático avanzada
|
|
- No requiere conexión a BD
|
|
- Detecta problemas antes de ejecutar DDL
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/utilities/validate_integrity.py`
|
|
|
|
**Dependencias:** Python 3, módulos estándar (pathlib, re, collections)
|
|
|
|
---
|
|
|
|
#### Categoría D: Scripts de Testing - 1 archivo
|
|
|
|
##### 11. `testing/CREAR-USUARIOS-TESTING.sql`
|
|
**Propósito:** Crear usuarios de prueba para testing
|
|
|
|
**Valor:** **ALTO** - Esencial para testing automatizado
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/testing/create-test-users.sql`
|
|
|
|
---
|
|
|
|
#### Categoría E: Scripts Deprecados - 3 archivos
|
|
|
|
##### 12-14. `deprecated/init-database-v1.sh`, `v2.sh`, `backup-*`
|
|
**Propósito:** Versiones históricas de init-database.sh
|
|
|
|
**Valor:** **BAJO** - Solo histórico/referencia
|
|
|
|
**Recomendación:** **NO MIGRAR**
|
|
|
|
**Acción:** Documentar en changelog como referencia
|
|
|
|
---
|
|
|
|
#### Categoría F: Documentación Adicional - 3 archivos
|
|
|
|
##### 15. `INDEX.md`
|
|
**Propósito:** Índice maestro de todos los scripts (navegación)
|
|
|
|
**Contenido:**
|
|
- Tabla de contenidos de documentación
|
|
- Scripts disponibles con descripción
|
|
- Comparación rápida de scripts
|
|
- Guía de decisión (qué script usar)
|
|
- Estructura del directorio
|
|
- Troubleshooting rápido
|
|
|
|
**Valor:** **ALTO** - Mejora experiencia de desarrolladores nuevos
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/INDEX.md`
|
|
|
|
---
|
|
|
|
##### 16. `QUICK-START.md`
|
|
**Propósito:** Guía rápida para comenzar (onboarding)
|
|
|
|
**Contenido:**
|
|
- Inicio rápido para desarrollo
|
|
- Inicio rápido para producción
|
|
- Casos de uso comunes
|
|
- Comparación de scripts
|
|
- Gestión de credenciales
|
|
- Troubleshooting básico
|
|
|
|
**Valor:** **ALTO** - Esencial para onboarding de nuevos devs
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/QUICK-START.md`
|
|
|
|
---
|
|
|
|
##### 17. `README-VALIDATION-SCRIPTS.md`
|
|
**Propósito:** Guía específica de scripts de validación
|
|
|
|
**Contenido:**
|
|
- Scripts de validación disponibles
|
|
- Interpretación de resultados
|
|
- Fórmulas de XP y ML Coins
|
|
- Problemas comunes
|
|
- Historial de correcciones
|
|
|
|
**Valor:** **MEDIO** - Útil para mantener calidad de datos
|
|
|
|
**Recomendación:** **MIGRAR A ORIGEN**
|
|
|
|
**Ubicación sugerida:** `scripts/validations/README.md`
|
|
|
|
---
|
|
|
|
### 2.3 Scripts Únicos en ORIGEN
|
|
|
|
**Resultado:** Ningún script único en ORIGEN respecto a DESTINO.
|
|
|
|
**Conclusión:** ORIGEN es un subconjunto de DESTINO en cuanto a scripts.
|
|
|
|
---
|
|
|
|
## 3. ANÁLISIS DE CONTENIDO DE SCRIPTS CRÍTICOS
|
|
|
|
### 3.1 `validate-seeds-integrity.sql` (Análisis Detallado)
|
|
|
|
**Secciones del script:**
|
|
|
|
#### Sección 1: Conteos Básicos
|
|
```sql
|
|
- auth.users
|
|
- auth_management.profiles
|
|
- gamification_system.user_stats
|
|
- gamification_system.user_ranks
|
|
- gamification_system.comodines_inventory
|
|
```
|
|
**Validación:** Todos deben tener el mismo conteo
|
|
|
|
#### Sección 2: Integridad Referencial
|
|
```sql
|
|
- Profiles sin user
|
|
- User_stats sin profile
|
|
- User_ranks sin user_stats
|
|
- Comodines sin user
|
|
```
|
|
**Validación:** Todos deben ser 0 (sin huérfanos)
|
|
|
|
#### Sección 3: Datos Educativos
|
|
```sql
|
|
- Módulos >= 5
|
|
- Ejercicios >= 50
|
|
- Achievements >= 15
|
|
- Rangos Maya >= 5
|
|
```
|
|
|
|
#### Sección 4: Features Sociales
|
|
```sql
|
|
- Friendships aceptados >= 8
|
|
- Schools >= 2
|
|
```
|
|
|
|
#### Sección 5: Resumen Final
|
|
```sql
|
|
- Estado general de la BD
|
|
- Validación final SUCCESS/FAIL
|
|
```
|
|
|
|
**Valor agregado:**
|
|
- Detecta problemas de triggers no ejecutados
|
|
- Valida integridad de seeds
|
|
- Asegura que la BD está lista para desarrollo frontend
|
|
|
|
---
|
|
|
|
### 3.2 `validate_integrity.py` (Análisis Detallado)
|
|
|
|
**Arquitectura:**
|
|
|
|
```python
|
|
1. extract_enums()
|
|
- Lee 00-prerequisites.sql
|
|
- Lee schemas/*/enums/*.sql
|
|
- Extrae nombre, schema, valores
|
|
|
|
2. extract_tables()
|
|
- Lee schemas/*/tables/*.sql
|
|
- Extrae nombre completo (schema.table)
|
|
|
|
3. validate_foreign_keys()
|
|
- Busca REFERENCES en tablas
|
|
- Verifica que tabla referenciada existe
|
|
|
|
4. validate_enum_references()
|
|
- Busca columnas con tipo schema.enum
|
|
- Verifica que enum existe
|
|
|
|
5. validate_corrections()
|
|
- Valida correcciones específicas:
|
|
* notification_type (11 valores)
|
|
* achievement_category (en gamification_system)
|
|
* transaction_type (14 valores)
|
|
|
|
6. validate_functions()
|
|
- Busca FROM, JOIN, INSERT, UPDATE, DELETE
|
|
- Verifica que tablas referenciadas existen
|
|
|
|
7. validate_triggers()
|
|
- Busca EXECUTE FUNCTION
|
|
- Verifica que funciones existen
|
|
|
|
8. check_duplicate_enums()
|
|
- Busca ENUMs con mismo nombre en múltiples schemas
|
|
```
|
|
|
|
**Output:**
|
|
```
|
|
CRÍTICO: N problemas
|
|
ALTO: N problemas
|
|
MEDIO: N problemas
|
|
BAJO: N problemas
|
|
```
|
|
|
|
**Ventajas:**
|
|
- Análisis estático (no requiere BD activa)
|
|
- Detecta problemas ANTES de ejecutar DDL
|
|
- Colorized output para fácil lectura
|
|
- Categoriza problemas por severidad
|
|
|
|
**Dependencias:**
|
|
- Python 3.6+
|
|
- Módulos estándar (pathlib, re, collections)
|
|
|
|
---
|
|
|
|
## 4. RECOMENDACIONES DE HOMOLOGACIÓN
|
|
|
|
### 4.1 Scripts de Validación (ALTA PRIORIDAD)
|
|
|
|
**Acción:** Migrar todos los scripts de validación SQL a ORIGEN
|
|
|
|
**Scripts a migrar:**
|
|
1. `validate-seeds-integrity.sql` → `scripts/validations/validate-seeds-integrity.sql`
|
|
2. `validate-gap-fixes.sql` → `scripts/validations/validate-gap-fixes.sql`
|
|
3. `validate-missions-objectives-structure.sql` → `scripts/validations/validate-missions-structure.sql`
|
|
4. `validate-update-user-rank-fix.sql` → `scripts/validations/validate-user-rank-fix.sql`
|
|
5. `validate-user-initialization.sql` → `scripts/validations/validate-user-initialization.sql`
|
|
6. `validate-generate-alerts-joins.sql` → `scripts/validations/validate-alerts-joins.sql`
|
|
7. `VALIDACIONES-RAPIDAS-POST-RECREACION.sql` → `scripts/validations/post-recreate-validations.sql`
|
|
|
|
**Estructura nueva:**
|
|
```
|
|
scripts/
|
|
├── validations/
|
|
│ ├── README.md (migrar de README-VALIDATION-SCRIPTS.md)
|
|
│ ├── validate-seeds-integrity.sql
|
|
│ ├── validate-gap-fixes.sql
|
|
│ ├── validate-missions-structure.sql
|
|
│ ├── validate-user-rank-fix.sql
|
|
│ ├── validate-user-initialization.sql
|
|
│ ├── validate-alerts-joins.sql
|
|
│ └── post-recreate-validations.sql
|
|
```
|
|
|
|
**Beneficio:**
|
|
- Validaciones automáticas post-deployment
|
|
- Detección temprana de problemas
|
|
- Documentación de checks necesarios
|
|
|
|
---
|
|
|
|
### 4.2 Scripts de Utilidades (ALTA PRIORIDAD)
|
|
|
|
**Acción:** Migrar script Python de validación
|
|
|
|
**Scripts a migrar:**
|
|
1. `validate_integrity.py` → `scripts/utilities/validate_integrity.py`
|
|
|
|
**Estructura nueva:**
|
|
```
|
|
scripts/
|
|
├── utilities/
|
|
│ ├── README.md (crear)
|
|
│ └── validate_integrity.py
|
|
```
|
|
|
|
**Actualizar README.md principal:**
|
|
Agregar sección sobre validación estática con Python
|
|
|
|
---
|
|
|
|
### 4.3 Scripts de Testing (ALTA PRIORIDAD)
|
|
|
|
**Acción:** Crear subdirectorio testing/
|
|
|
|
**Scripts a migrar:**
|
|
1. `testing/CREAR-USUARIOS-TESTING.sql` → `scripts/testing/create-test-users.sql`
|
|
|
|
**Estructura nueva:**
|
|
```
|
|
scripts/
|
|
├── testing/
|
|
│ ├── README.md (crear)
|
|
│ └── create-test-users.sql
|
|
```
|
|
|
|
---
|
|
|
|
### 4.4 Documentación (ALTA PRIORIDAD)
|
|
|
|
**Acción:** Migrar documentación mejorada
|
|
|
|
**Archivos a migrar:**
|
|
1. `INDEX.md` → `scripts/INDEX.md`
|
|
2. `QUICK-START.md` → `scripts/QUICK-START.md`
|
|
3. `README-VALIDATION-SCRIPTS.md` → `scripts/validations/README.md`
|
|
|
|
**Actualizar README.md principal:**
|
|
- Agregar referencia a INDEX.md
|
|
- Agregar referencia a QUICK-START.md
|
|
- Mejorar sección de validaciones
|
|
|
|
---
|
|
|
|
### 4.5 Scripts Obsoletos (BAJA PRIORIDAD)
|
|
|
|
**Acción:** NO MIGRAR, solo documentar
|
|
|
|
**Scripts obsoletos:**
|
|
1. `deprecated/init-database-v1.sh`
|
|
2. `deprecated/init-database-v2.sh`
|
|
3. `deprecated/init-database.sh.backup-*`
|
|
4. `VALIDACION-RAPIDA-RECREACION-2025-11-24.sql`
|
|
5. `apply-maya-ranks-v2.1.sql`
|
|
|
|
**Acción alternativa:**
|
|
- Crear `scripts/CHANGELOG.md` documentando historia
|
|
- Mencionar scripts históricos como referencia
|
|
- NO incluir archivos obsoletos en ORIGEN
|
|
|
|
---
|
|
|
|
## 5. DIFERENCIAS EN CONTENIDO
|
|
|
|
### 5.1 README.md
|
|
|
|
**Estado:** Ambos proyectos tienen el mismo README.md (versión 2.0, actualizado 2025-11-02)
|
|
|
|
**Contenido:**
|
|
- Visión general
|
|
- Scripts disponibles (init, recreate, reset, update-env)
|
|
- Comparación rápida
|
|
- Gestión de credenciales
|
|
- Guía de uso por escenario
|
|
- Seguridad
|
|
- Troubleshooting
|
|
|
|
**Conclusión:** Sin diferencias
|
|
|
|
---
|
|
|
|
### 5.2 Scripts .sh Core
|
|
|
|
**Estado:** Todos los 13 scripts .sh tienen el mismo tamaño en líneas
|
|
|
|
**Script clave:** `init-database.sh`
|
|
- ORIGEN: 1091 líneas
|
|
- DESTINO: 1091 líneas
|
|
- **Conclusión:** Idénticos
|
|
|
|
**Otros scripts:**
|
|
- Sin diferencias detectadas en tamaño
|
|
- Funcionalidad sincronizada
|
|
|
|
---
|
|
|
|
## 6. ESTRUCTURA FINAL PROPUESTA PARA ORIGEN
|
|
|
|
```
|
|
/apps/database/scripts/
|
|
│
|
|
├── 📖 Documentación
|
|
│ ├── INDEX.md ← MIGRAR desde DESTINO
|
|
│ ├── QUICK-START.md ← MIGRAR desde DESTINO
|
|
│ ├── README.md ← Mantener actual
|
|
│ ├── README-SETUP.md ← Mantener actual
|
|
│ └── CHANGELOG.md ← CREAR (historia de scripts)
|
|
│
|
|
├── 🛠️ Scripts Principales
|
|
│ ├── init-database.sh ← Mantener
|
|
│ ├── init-database-v3.sh ← Mantener
|
|
│ ├── reset-database.sh ← Mantener
|
|
│ └── recreate-database.sh ← Mantener
|
|
│
|
|
├── 🔐 Scripts de Gestión
|
|
│ ├── manage-secrets.sh ← Mantener
|
|
│ ├── update-env-files.sh ← Mantener
|
|
│ └── cleanup-duplicados.sh ← Mantener
|
|
│
|
|
├── ✅ Scripts de Validación
|
|
│ ├── validate-ddl-organization.sh ← Mantener
|
|
│ ├── verify-missions-status.sh ← Mantener
|
|
│ ├── verify-users.sh ← Mantener
|
|
│ └── DB-127-validar-gaps.sh ← Mantener
|
|
│
|
|
├── 📊 Scripts de Carga
|
|
│ ├── load-users-and-profiles.sh ← Mantener
|
|
│ └── fix-duplicate-triggers.sh ← Mantener
|
|
│
|
|
├── ⚙️ Configuración
|
|
│ └── config/
|
|
│ ├── dev.conf ← Mantener
|
|
│ └── prod.conf ← Mantener
|
|
│
|
|
├── 📋 Inventario
|
|
│ └── inventory/
|
|
│ ├── generate-all-inventories.sh ← Mantener (8 scripts)
|
|
│ └── ... (otros 7 scripts)
|
|
│
|
|
├── 🔍 Validaciones SQL ← NUEVO (migrar desde DESTINO)
|
|
│ └── validations/
|
|
│ ├── README.md ← MIGRAR
|
|
│ ├── validate-seeds-integrity.sql ← MIGRAR
|
|
│ ├── validate-gap-fixes.sql ← MIGRAR
|
|
│ ├── validate-missions-structure.sql ← MIGRAR
|
|
│ ├── validate-user-rank-fix.sql ← MIGRAR
|
|
│ ├── validate-user-initialization.sql ← MIGRAR
|
|
│ ├── validate-alerts-joins.sql ← MIGRAR
|
|
│ └── post-recreate-validations.sql ← MIGRAR
|
|
│
|
|
├── 🛠️ Utilidades ← NUEVO (migrar desde DESTINO)
|
|
│ └── utilities/
|
|
│ ├── README.md ← CREAR
|
|
│ └── validate_integrity.py ← MIGRAR
|
|
│
|
|
├── 🧪 Testing ← NUEVO (migrar desde DESTINO)
|
|
│ └── testing/
|
|
│ ├── README.md ← CREAR
|
|
│ └── create-test-users.sql ← MIGRAR
|
|
│
|
|
└── 📦 Migraciones Históricas ← NUEVO (opcional)
|
|
└── migrations/
|
|
└── historical/
|
|
└── apply-maya-ranks-v2.1.sql ← MIGRAR (opcional)
|
|
```
|
|
|
|
**Total archivos después de homologación:** 38 archivos (+16 respecto a estado actual)
|
|
|
|
---
|
|
|
|
## 7. PLAN DE IMPLEMENTACIÓN
|
|
|
|
### Fase 1: Preparación (1-2 horas)
|
|
|
|
**Tareas:**
|
|
1. Crear subdirectorios nuevos:
|
|
- `scripts/validations/`
|
|
- `scripts/utilities/`
|
|
- `scripts/testing/`
|
|
- `scripts/migrations/historical/` (opcional)
|
|
|
|
2. Crear README.md para subdirectorios:
|
|
- `scripts/validations/README.md`
|
|
- `scripts/utilities/README.md`
|
|
- `scripts/testing/README.md`
|
|
|
|
3. Crear `scripts/CHANGELOG.md` documentando historia
|
|
|
|
---
|
|
|
|
### Fase 2: Migración de Scripts Críticos (2-3 horas)
|
|
|
|
**Prioridad 1: Validaciones SQL (7 scripts)**
|
|
```bash
|
|
# Copiar validaciones
|
|
cp DESTINO/validate-seeds-integrity.sql ORIGEN/scripts/validations/
|
|
cp DESTINO/validate-gap-fixes.sql ORIGEN/scripts/validations/
|
|
cp DESTINO/validate-missions-objectives-structure.sql ORIGEN/scripts/validations/validate-missions-structure.sql
|
|
cp DESTINO/validate-update-user-rank-fix.sql ORIGEN/scripts/validations/validate-user-rank-fix.sql
|
|
cp DESTINO/validate-user-initialization.sql ORIGEN/scripts/validations/
|
|
cp DESTINO/validate-generate-alerts-joins.sql ORIGEN/scripts/validations/validate-alerts-joins.sql
|
|
cp DESTINO/VALIDACIONES-RAPIDAS-POST-RECREACION.sql ORIGEN/scripts/validations/post-recreate-validations.sql
|
|
```
|
|
|
|
**Prioridad 2: Script Python**
|
|
```bash
|
|
cp DESTINO/validate_integrity.py ORIGEN/scripts/utilities/
|
|
chmod +x ORIGEN/scripts/utilities/validate_integrity.py
|
|
```
|
|
|
|
**Prioridad 3: Testing**
|
|
```bash
|
|
cp DESTINO/testing/CREAR-USUARIOS-TESTING.sql ORIGEN/scripts/testing/create-test-users.sql
|
|
```
|
|
|
|
---
|
|
|
|
### Fase 3: Migración de Documentación (1 hora)
|
|
|
|
**Documentación core:**
|
|
```bash
|
|
cp DESTINO/INDEX.md ORIGEN/scripts/
|
|
cp DESTINO/QUICK-START.md ORIGEN/scripts/
|
|
cp DESTINO/README-VALIDATION-SCRIPTS.md ORIGEN/scripts/validations/README.md
|
|
```
|
|
|
|
**Actualizar README.md principal:**
|
|
- Agregar referencia a INDEX.md al inicio
|
|
- Agregar referencia a QUICK-START.md
|
|
- Agregar sección de validaciones SQL
|
|
- Agregar sección de utilidades Python
|
|
|
|
---
|
|
|
|
### Fase 4: Validación y Testing (1 hora)
|
|
|
|
**Validar estructura:**
|
|
```bash
|
|
cd ORIGEN/scripts/
|
|
tree -L 2
|
|
```
|
|
|
|
**Ejecutar validaciones:**
|
|
```bash
|
|
# Validación Python (no requiere BD)
|
|
cd utilities/
|
|
./validate_integrity.py
|
|
|
|
# Validación SQL (requiere BD activa)
|
|
cd validations/
|
|
psql -U gamilit_user -d gamilit_platform -f validate-seeds-integrity.sql
|
|
```
|
|
|
|
**Testing:**
|
|
```bash
|
|
cd testing/
|
|
psql -U gamilit_user -d gamilit_platform -f create-test-users.sql
|
|
```
|
|
|
|
---
|
|
|
|
### Fase 5: Documentación Final (30 min)
|
|
|
|
**Crear CHANGELOG.md:**
|
|
```markdown
|
|
# Changelog - Scripts de Base de Datos
|
|
|
|
## 2025-12-18 - Homologación con Workspace Legacy
|
|
|
|
### Agregado
|
|
- 7 scripts de validación SQL (validate-*)
|
|
- 1 script Python de validación estática
|
|
- 1 script de testing (create-test-users.sql)
|
|
- 3 archivos de documentación mejorada
|
|
- Subdirectorios: validations/, utilities/, testing/
|
|
|
|
### Histórico
|
|
- init-database v1.0: Versión original (deprecated)
|
|
- init-database v2.0: Agregada integración con update-env-files
|
|
- init-database v3.0: Versión actual en producción
|
|
|
|
### Scripts Obsoletos (No Migrados)
|
|
- deprecated/init-database-v1.sh
|
|
- deprecated/init-database-v2.sh
|
|
- VALIDACION-RAPIDA-RECREACION-2025-11-24.sql
|
|
- apply-maya-ranks-v2.1.sql
|
|
```
|
|
|
|
**Actualizar INDEX.md:**
|
|
- Agregar referencias a nuevos subdirectorios
|
|
- Actualizar conteo de scripts
|
|
|
|
---
|
|
|
|
## 8. SCRIPTS OBSOLETOS QUE NO SE DEBEN MIGRAR
|
|
|
|
### 8.1 Scripts Deprecados (deprecated/)
|
|
|
|
**Razón:** Solo valor histórico, no funcional
|
|
|
|
| Archivo | Tamaño | Fecha | Razón de Obsolescencia |
|
|
|---------|--------|-------|------------------------|
|
|
| `init-database-v1.sh` | 21K | - | Reemplazado por v3.0 |
|
|
| `init-database-v2.sh` | 32K | - | Reemplazado por v3.0 |
|
|
| `init-database.sh.backup-20251102-235826` | - | 2025-11-02 | Backup histórico |
|
|
|
|
**Acción:** Documentar en CHANGELOG.md como referencia
|
|
|
|
---
|
|
|
|
### 8.2 Scripts Puntuales
|
|
|
|
**Razón:** Migración/validación puntual ya aplicada
|
|
|
|
| Archivo | Fecha | Propósito | Estado |
|
|
|---------|-------|-----------|--------|
|
|
| `VALIDACION-RAPIDA-RECREACION-2025-11-24.sql` | 2025-11-24 | Validación específica del 24/11 | Completado |
|
|
| `apply-maya-ranks-v2.1.sql` | - | Migración de rangos v2.1 | Aplicado |
|
|
|
|
**Acción:**
|
|
- Opcional: Mover a `scripts/migrations/historical/` como referencia
|
|
- Documentar en CHANGELOG.md
|
|
|
|
---
|
|
|
|
## 9. VALIDACIÓN DE INTEGRIDAD POST-MIGRACIÓN
|
|
|
|
### 9.1 Checklist de Validación
|
|
|
|
**Scripts Core (13) - MANTENER**
|
|
- [ ] init-database.sh
|
|
- [ ] init-database-v3.sh
|
|
- [ ] recreate-database.sh
|
|
- [ ] reset-database.sh
|
|
- [ ] manage-secrets.sh
|
|
- [ ] update-env-files.sh
|
|
- [ ] cleanup-duplicados.sh
|
|
- [ ] validate-ddl-organization.sh
|
|
- [ ] verify-missions-status.sh
|
|
- [ ] verify-users.sh
|
|
- [ ] load-users-and-profiles.sh
|
|
- [ ] DB-127-validar-gaps.sh
|
|
- [ ] fix-duplicate-triggers.sh
|
|
|
|
**Scripts Nuevos (11) - MIGRAR**
|
|
- [ ] validations/validate-seeds-integrity.sql
|
|
- [ ] validations/validate-gap-fixes.sql
|
|
- [ ] validations/validate-missions-structure.sql
|
|
- [ ] validations/validate-user-rank-fix.sql
|
|
- [ ] validations/validate-user-initialization.sql
|
|
- [ ] validations/validate-alerts-joins.sql
|
|
- [ ] validations/post-recreate-validations.sql
|
|
- [ ] utilities/validate_integrity.py
|
|
- [ ] testing/create-test-users.sql
|
|
|
|
**Documentación Nueva (4) - MIGRAR**
|
|
- [ ] INDEX.md
|
|
- [ ] QUICK-START.md
|
|
- [ ] validations/README.md
|
|
- [ ] CHANGELOG.md (crear)
|
|
|
|
---
|
|
|
|
### 9.2 Tests Funcionales
|
|
|
|
**Test 1: Validación Python (sin BD)**
|
|
```bash
|
|
cd scripts/utilities/
|
|
python3 validate_integrity.py
|
|
# Esperado: 0 problemas críticos
|
|
```
|
|
|
|
**Test 2: Validación de Seeds (con BD)**
|
|
```bash
|
|
cd scripts/validations/
|
|
psql -U gamilit_user -d gamilit_platform -f validate-seeds-integrity.sql
|
|
# Esperado: "✓✓✓ VALIDACIÓN COMPLETA: SUCCESS ✓✓✓"
|
|
```
|
|
|
|
**Test 3: Crear Usuarios de Testing**
|
|
```bash
|
|
cd scripts/testing/
|
|
psql -U gamilit_user -d gamilit_platform -f create-test-users.sql
|
|
# Esperado: Usuarios creados correctamente
|
|
```
|
|
|
|
---
|
|
|
|
## 10. RIESGOS Y MITIGACIONES
|
|
|
|
### Riesgo 1: Conflictos de Paths en Scripts
|
|
**Probabilidad:** Baja
|
|
**Impacto:** Medio
|
|
|
|
**Descripción:** Scripts SQL pueden tener paths hardcodeados
|
|
|
|
**Mitigación:**
|
|
- Revisar todos los scripts SQL antes de migrar
|
|
- Buscar paths absolutos: `grep -r "/home/isem" scripts/validations/`
|
|
- Reemplazar por paths relativos
|
|
|
|
---
|
|
|
|
### Riesgo 2: Dependencias de Python
|
|
**Probabilidad:** Baja
|
|
**Impacto:** Bajo
|
|
|
|
**Descripción:** validate_integrity.py requiere Python 3
|
|
|
|
**Mitigación:**
|
|
- Documentar requisitos en utilities/README.md
|
|
- Agregar shebang: `#!/usr/bin/env python3`
|
|
- Validar que funciona en ambiente de producción
|
|
|
|
---
|
|
|
|
### Riesgo 3: Scripts SQL con Queries Desactualizados
|
|
**Probabilidad:** Media
|
|
**Impacto:** Medio
|
|
|
|
**Descripción:** Validaciones SQL pueden referenciar tablas/columnas antiguas
|
|
|
|
**Mitigación:**
|
|
- Ejecutar todas las validaciones en ambiente de desarrollo primero
|
|
- Actualizar queries si hay errores
|
|
- Documentar cambios en CHANGELOG.md
|
|
|
|
---
|
|
|
|
## 11. MÉTRICAS DE HOMOLOGACIÓN
|
|
|
|
### Estado Actual
|
|
- **ORIGEN:** 22 archivos ejecutables
|
|
- **DESTINO:** 36 archivos ejecutables
|
|
- **Diferencia:** 14 archivos
|
|
|
|
### Después de Homologación
|
|
- **Scripts migrados:** 11
|
|
- **Documentación migrada:** 4
|
|
- **Scripts no migrados (obsoletos):** 5
|
|
- **Scripts nuevos creados:** 1 (CHANGELOG.md)
|
|
|
|
### Cobertura
|
|
- **Scripts de validación:** 0% → 100% (7 scripts)
|
|
- **Utilidades Python:** 0% → 100% (1 script)
|
|
- **Scripts de testing:** 0% → 100% (1 script)
|
|
- **Documentación mejorada:** 50% → 100% (+3 archivos)
|
|
|
|
---
|
|
|
|
## 12. CONCLUSIONES
|
|
|
|
### Hallazgos Clave
|
|
|
|
1. **Sincronización Parcial:**
|
|
- Los scripts core (.sh) están sincronizados
|
|
- Faltan scripts de validación y utilidades en ORIGEN
|
|
|
|
2. **Calidad de Documentación:**
|
|
- DESTINO tiene documentación más completa y organizada
|
|
- INDEX.md y QUICK-START.md mejoran significativamente la experiencia de desarrolladores
|
|
|
|
3. **Scripts de Validación:**
|
|
- DESTINO tiene suite completa de validaciones SQL
|
|
- Validaciones críticas para asegurar integridad de datos
|
|
- Script Python permite validación estática (sin BD activa)
|
|
|
|
4. **Scripts de Testing:**
|
|
- DESTINO tiene scripts para crear datos de prueba
|
|
- Esencial para testing automatizado
|
|
|
|
---
|
|
|
|
### Recomendaciones Finales
|
|
|
|
#### Alta Prioridad (Crítico)
|
|
1. **Migrar todos los scripts de validación SQL** (7 scripts)
|
|
- Validación de seeds es crítica post-inicialización
|
|
- Validaciones específicas aseguran calidad de datos
|
|
|
|
2. **Migrar script Python de validación** (validate_integrity.py)
|
|
- Permite detección temprana de problemas
|
|
- No requiere BD activa
|
|
|
|
3. **Migrar documentación mejorada** (INDEX.md, QUICK-START.md)
|
|
- Mejora onboarding de nuevos desarrolladores
|
|
- Reduce tiempo de setup inicial
|
|
|
|
#### Media Prioridad (Importante)
|
|
4. **Migrar script de testing** (create-test-users.sql)
|
|
- Facilita testing automatizado
|
|
- Estandariza datos de prueba
|
|
|
|
5. **Crear CHANGELOG.md**
|
|
- Documenta historia de cambios
|
|
- Referencia para scripts obsoletos
|
|
|
|
#### Baja Prioridad (Opcional)
|
|
6. **Migrar scripts de migración históricos** (apply-maya-ranks-v2.1.sql)
|
|
- Solo como referencia
|
|
- Guardar en migrations/historical/
|
|
|
|
---
|
|
|
|
### Próximos Pasos
|
|
|
|
**Inmediato (Esta Semana):**
|
|
1. Ejecutar Fase 1: Preparación
|
|
2. Ejecutar Fase 2: Migración de Scripts Críticos
|
|
3. Ejecutar validaciones en ambiente de desarrollo
|
|
|
|
**Corto Plazo (Próximos 15 días):**
|
|
4. Ejecutar Fase 3: Migración de Documentación
|
|
5. Ejecutar Fase 4: Validación y Testing
|
|
6. Ejecutar Fase 5: Documentación Final
|
|
|
|
**Mediano Plazo (Próximo Mes):**
|
|
7. Integrar validaciones en CI/CD pipeline
|
|
8. Documentar uso de validaciones en guías de deployment
|
|
9. Capacitar equipo en nuevos scripts
|
|
|
|
---
|
|
|
|
## ANEXOS
|
|
|
|
### Anexo A: Comandos de Migración Rápida
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Script de migración automática (usar con precaución)
|
|
|
|
ORIGEN="/home/isem/workspace/projects/gamilit/apps/database/scripts"
|
|
DESTINO="/home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit/apps/database/scripts"
|
|
|
|
# Crear subdirectorios
|
|
mkdir -p "$ORIGEN/validations"
|
|
mkdir -p "$ORIGEN/utilities"
|
|
mkdir -p "$ORIGEN/testing"
|
|
|
|
# Migrar validaciones SQL
|
|
cp "$DESTINO/validate-seeds-integrity.sql" "$ORIGEN/validations/"
|
|
cp "$DESTINO/validate-gap-fixes.sql" "$ORIGEN/validations/"
|
|
cp "$DESTINO/validate-missions-objectives-structure.sql" "$ORIGEN/validations/validate-missions-structure.sql"
|
|
cp "$DESTINO/validate-update-user-rank-fix.sql" "$ORIGEN/validations/validate-user-rank-fix.sql"
|
|
cp "$DESTINO/validate-user-initialization.sql" "$ORIGEN/validations/"
|
|
cp "$DESTINO/validate-generate-alerts-joins.sql" "$ORIGEN/validations/validate-alerts-joins.sql"
|
|
cp "$DESTINO/VALIDACIONES-RAPIDAS-POST-RECREACION.sql" "$ORIGEN/validations/post-recreate-validations.sql"
|
|
|
|
# Migrar script Python
|
|
cp "$DESTINO/validate_integrity.py" "$ORIGEN/utilities/"
|
|
chmod +x "$ORIGEN/utilities/validate_integrity.py"
|
|
|
|
# Migrar testing
|
|
cp "$DESTINO/testing/CREAR-USUARIOS-TESTING.sql" "$ORIGEN/testing/create-test-users.sql"
|
|
|
|
# Migrar documentación
|
|
cp "$DESTINO/INDEX.md" "$ORIGEN/"
|
|
cp "$DESTINO/QUICK-START.md" "$ORIGEN/"
|
|
cp "$DESTINO/README-VALIDATION-SCRIPTS.md" "$ORIGEN/validations/README.md"
|
|
|
|
echo "Migración completada"
|
|
echo "Validar manualmente con: tree $ORIGEN"
|
|
```
|
|
|
|
---
|
|
|
|
### Anexo B: Validación de Paths en Scripts SQL
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Buscar paths hardcodeados en scripts SQL
|
|
|
|
ORIGEN="/home/isem/workspace/projects/gamilit/apps/database/scripts"
|
|
|
|
echo "Buscando paths absolutos en scripts SQL..."
|
|
grep -r "/home/isem" "$ORIGEN/validations/" 2>/dev/null || echo "No se encontraron paths absolutos"
|
|
|
|
echo ""
|
|
echo "Buscando referencias a workspace-gamilit..."
|
|
grep -r "workspace-gamilit" "$ORIGEN/validations/" 2>/dev/null || echo "No se encontraron referencias"
|
|
```
|
|
|
|
---
|
|
|
|
### Anexo C: Template de README para Subdirectorios
|
|
|
|
#### `scripts/validations/README.md`
|
|
```markdown
|
|
# Scripts de Validación - GAMILIT Database
|
|
|
|
Colección de scripts SQL para validar integridad de la base de datos.
|
|
|
|
## Scripts Disponibles
|
|
|
|
### validate-seeds-integrity.sql
|
|
Validación exhaustiva de integridad de seeds post-inicialización.
|
|
|
|
**Uso:**
|
|
```bash
|
|
psql -U gamilit_user -d gamilit_platform -f validate-seeds-integrity.sql
|
|
```
|
|
|
|
**Frecuencia:** Después de cada `init-database.sh` o `reset-database.sh`
|
|
|
|
### validate-gap-fixes.sql
|
|
Validación de gaps identificados en tarea DB-127.
|
|
|
|
...
|
|
|
|
## Interpretación de Resultados
|
|
|
|
### ✅ INTEGRIDAD OK
|
|
Todo funciona correctamente. No se requiere acción.
|
|
|
|
### ❌ HAY PROBLEMAS
|
|
Revisar detalles en el output y ejecutar correcciones necesarias.
|
|
```
|
|
|
|
---
|
|
|
|
### Anexo D: Referencias Cruzadas
|
|
|
|
**Documentos Relacionados:**
|
|
- `/home/isem/workspace/projects/gamilit/apps/database/README.md` - Documentación principal de database
|
|
- `/home/isem/workspace/projects/gamilit/docs/03-desarrollo/base-de-datos/` - Documentación de desarrollo
|
|
- `/home/isem/workspace/projects/gamilit/orchestration/directivas/DIRECTIVA-POLITICA-CARGA-LIMPIA.md` - Política DDL-First
|
|
|
|
**Scripts Relacionados:**
|
|
- `/home/isem/workspace/projects/gamilit/scripts/` - Scripts de proyecto (nivel raíz)
|
|
- `/home/isem/workspace/projects/gamilit/apps/backend/` - Backend (consumidor de BD)
|
|
|
|
---
|
|
|
|
**FIN DEL REPORTE**
|
|
|
|
---
|
|
|
|
**Generado por:** DevOps Analyst
|
|
**Fecha:** 2025-12-18
|
|
**Versión:** 1.0
|
|
**Estado:** ✅ Completo
|