workspace/projects/gamilit/orchestration/analisis-homologacion-database-2025-12-18/compare-ddl.sh
rckrdmrd 289c5a4ee5
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
Gamilit: Backend fixes, frontend API updates, deployment guides and validations
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>
2025-12-18 23:42:48 -06:00

85 lines
2.5 KiB
Bash

#!/bin/bash
# Script para comparar DDL entre origen y destino
ORIGEN="/home/isem/workspace/projects/gamilit/apps/database/ddl/schemas"
DESTINO="/home/isem/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit/apps/database/ddl/schemas"
OUTPUT="/home/isem/workspace/projects/gamilit/orchestration/analisis-homologacion-database-2025-12-18"
SCHEMAS=(
"admin_dashboard"
"audit_logging"
"auth"
"auth_management"
"communication"
"content_management"
"educational_content"
"gamification_system"
"gamilit"
"lti_integration"
"notifications"
"progress_tracking"
"public"
"social_features"
"storage"
"system_configuration"
)
echo "# ANÁLISIS DE DIFERENCIAS DDL - ORIGEN vs DESTINO"
echo "Fecha: $(date '+%Y-%m-%d %H:%M:%S')"
echo ""
echo "## Directorios analizados"
echo "- **ORIGEN:** $ORIGEN"
echo "- **DESTINO:** $DESTINO"
echo ""
# Archivos temporales para tracking
NUEVOS_FILE="$OUTPUT/temp_nuevos.txt"
ELIMINADOS_FILE="$OUTPUT/temp_eliminados.txt"
MODIFICADOS_FILE="$OUTPUT/temp_modificados.txt"
> "$NUEVOS_FILE"
> "$ELIMINADOS_FILE"
> "$MODIFICADOS_FILE"
for schema in "${SCHEMAS[@]}"; do
echo "Procesando schema: $schema"
# Encontrar todos los archivos SQL en origen
if [ -d "$ORIGEN/$schema" ]; then
find "$ORIGEN/$schema" -type f -name "*.sql" | while read -r file_origen; do
# Calcular ruta relativa
rel_path="${file_origen#$ORIGEN/$schema/}"
file_destino="$DESTINO/$schema/$rel_path"
if [ ! -f "$file_destino" ]; then
# Archivo NUEVO (solo en origen)
echo "$schema|$rel_path|NUEVO" >> "$NUEVOS_FILE"
else
# Comparar checksums
md5_origen=$(md5sum "$file_origen" | cut -d' ' -f1)
md5_destino=$(md5sum "$file_destino" | cut -d' ' -f1)
if [ "$md5_origen" != "$md5_destino" ]; then
# Archivo MODIFICADO
echo "$schema|$rel_path|MODIFICADO|$file_origen|$file_destino" >> "$MODIFICADOS_FILE"
fi
fi
done
fi
# Encontrar archivos que existen en destino pero no en origen
if [ -d "$DESTINO/$schema" ]; then
find "$DESTINO/$schema" -type f -name "*.sql" | while read -r file_destino; do
rel_path="${file_destino#$DESTINO/$schema/}"
file_origen="$ORIGEN/$schema/$rel_path"
if [ ! -f "$file_origen" ]; then
# Archivo ELIMINADO (solo en destino)
echo "$schema|$rel_path|ELIMINADO" >> "$ELIMINADOS_FILE"
fi
done
fi
done
echo "Comparación completada. Resultados en $OUTPUT/temp_*.txt"