workspace/projects/gamilit/docs/02-fase-robustecimiento/EMR-001-migracion-bd/tareas/03-documentacion/ESQUEMA-44-TABLAS.md
rckrdmrd 608e1e2a2e
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
Multi-project update: gamilit, orchestration, trading-platform
Gamilit:
- Backend: Teacher services, assignments, gamification, exercise submissions
- Frontend: Admin/Teacher/Student portals, module 4-5 mechanics, monitoring
- Database: DDL functions, seeds for dev/prod, auth/gamification schemas
- Docs: Architecture, features, guides cleanup and reorganization

Core/Orchestration:
- New workspace directives index
- Documentation directive

Trading-platform:
- Database seeds and inventory updates
- Tech leader validation report

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 07:17:46 -06:00

6.9 KiB

Esquema de 44 Tablas - GAMILIT Platform

Épica: EMR-001 - Migración y Robustecimiento de BD Fecha: 2025-11-02 Origen: /docs/03-desarrollo/base-de-datos/ESQUEMA-COMPLETO.md


Resumen Ejecutivo

  • Total de Schemas: 9
  • Total de Tablas: 44
  • Total de ENUMs: 24
  • Total de Funciones: 26
  • Total de Triggers: 30
  • Total de Índices: 150+

1. Distribución de Tablas por Schema

1.1 Schema: auth_management (9 tablas)

  • tenants - Multi-tenant organizations
  • profiles - Perfiles de usuario
  • user_roles - Asignación de roles
  • memberships - Usuario-tenant memberships
  • user_sessions - Sesiones activas
  • auth_attempts - Intentos de autenticación
  • password_reset_tokens - Tokens de recuperación
  • email_verification_tokens - Tokens de verificación
  • security_events - Eventos de seguridad

1.2 Schema: gamification_system (9 tablas)

  • user_stats - Estadísticas de gamificación
  • user_ranks - Progresión de rangos Maya
  • achievements - Definiciones de logros
  • user_achievements - Logros desbloqueados
  • ml_coins_transactions - Ledger de ML Coins
  • missions - Misiones/quests
  • comodines_inventory - Inventario de power-ups
  • notifications - Notificaciones
  • leaderboard_metadata - Metadatos de rankings

1.3 Schema: educational_content (4 tablas)

  • modules - 5 módulos de Marie Curie
  • exercises - 27 tipos de ejercicios
  • assessment_rubrics - Rúbricas de evaluación
  • media_resources - Recursos multimedia

1.4 Schema: progress_tracking (4 tablas)

  • module_progress - Progreso por módulo
  • exercise_attempts - Intentos de ejercicios
  • exercise_submissions - Entregas
  • learning_sessions - Sesiones de aprendizaje

1.5 Schema: social_features (7 tablas)

  • schools - Instituciones educativas
  • classrooms - Aulas virtuales
  • classroom_members - Inscripciones
  • teams - Equipos colaborativos
  • team_members - Miembros de equipos
  • team_challenges - Desafíos de equipos
  • friendships - Relaciones de amistad

1.6 Schema: content_management (4 tablas)

  • marie_curie_content - Contenido curado
  • media_files - Archivos multimedia
  • content_templates - Plantillas
  • flagged_content - Contenido para moderación

1.7 Schema: system_configuration (2 tablas)

  • system_settings - Configuración global
  • feature_flags - Feature toggles

1.8 Schema: audit_logging (6 tablas)

  • audit_logs - Trail de auditoría
  • system_logs - Logs del sistema
  • performance_metrics - Métricas de performance
  • user_activity_logs - Actividad de usuarios
  • system_alerts - Alertas del sistema
  • user_activity - Log de actividad

1.9 Schema: gamilit (0 tablas)

  • Solo funciones utilitarias (now_mexico(), update_updated_at())

1.10 Schema: auth (1 tabla)

  • users - Tabla de autenticación estándar (referenciada)

2. Tablas Críticas por Funcionalidad

Autenticación y Usuarios

  • auth.users (sistema)
  • auth_management.profiles
  • auth_management.user_sessions

Gamificación Core

  • gamification_system.user_stats
  • gamification_system.user_ranks
  • gamification_system.ml_coins_transactions

Contenido Educativo

  • educational_content.modules
  • educational_content.exercises

Progreso del Estudiante

  • progress_tracking.module_progress
  • progress_tracking.exercise_attempts

Social y Colaboración

  • social_features.classrooms
  • social_features.classroom_members
  • social_features.teams

3. Relaciones Clave (Foreign Keys)

Relación Central: profiles

auth.users (1:1) → auth_management.profiles
                         ↓ (1:1)
                   gamification_system.user_stats
                         ↓ (1:N)
                   progress_tracking.module_progress

Relación Educativa: modules → exercises

educational_content.modules (1:N) → educational_content.exercises
                                           ↓ (1:N)
                             progress_tracking.exercise_attempts

Relación Social: classrooms

social_features.schools (1:N) → social_features.classrooms
                                        ↓ (N:M)
                          social_features.classroom_members
                                        ↓
                          auth_management.profiles (students)

4. Tablas con JSONB (Flexibilidad)

Configuraciones

  • auth_management.tenants.settings
  • auth_management.profiles.preferences
  • auth_management.user_roles.permissions

Contenido Educativo

  • educational_content.modules.content
  • educational_content.exercises.content
  • educational_content.exercises.config

Gamificación

  • gamification_system.achievements.conditions
  • gamification_system.achievements.rewards
  • gamification_system.missions.objectives

Auditoría

  • audit_logging.audit_logs.old_values
  • audit_logging.audit_logs.new_values

5. ENUMs Principales (24 tipos)

Autenticación y Roles

  • gamilit_role: student, admin_teacher, super_admin
  • user_status: active, inactive, suspended, deleted

Gamificación

  • rango_maya: nacom, batab, holcatte, guerrero, mercenario
  • achievement_category: progress, streak, completion, social, special, mastery, exploration
  • comodin_type: pistas, vision_lectora, segunda_oportunidad

Contenido

  • exercise_type: 27 tipos (multiple_choice, matching, crossword, etc.)
  • difficulty_level: beginner, intermediate, advanced
  • content_status: draft, published, archived, under_review

Sistema

  • module_status: not_started, in_progress, completed, locked
  • processing_status: uploading, processing, ready, error, optimizing

6. Zona Horaria

Todas las tablas usan TIMESTAMPTZ con zona horaria de México:

created_at TIMESTAMPTZ DEFAULT gamilit.now_mexico()

Función: gamilit.now_mexico() retorna NOW() AT TIME ZONE 'America/Mexico_City'


7. Patrones de Diseño

Soft Delete Pattern

  • Campos is_active y deleted_at

Audit Trail Pattern

  • Tabla audit_logs con old_values y new_values en JSONB

Multi-tenancy Pattern

  • Campo tenant_id en todas las tablas principales

Event Sourcing (Partial)

  • ml_coins_transactions con balance_before / balance_after

8. Convenciones de Nombrado

  • Schemas: snake_case
  • Tablas: snake_case en plural
  • Columnas: snake_case
  • ENUMs: snake_case
  • Funciones: snake_case()

9. Grados Escolares y Materias

Grados: 6, 7 y 8 (primaria superior/secundaria)

Materias: Literatura y Ciencias

Contenido Temático: 5 módulos sobre Marie Curie


10. Referencias

  • Esquema Completo: /docs/03-desarrollo/base-de-datos/ESQUEMA-COMPLETO.md
  • Migraciones: tareas/01-migraciones/MIGRACIONES-HISTORICO.md
  • Índices: tareas/03-documentacion/INDICES-OPTIMIZACION.md
  • DDL Scripts: /docs/03-desarrollo/base-de-datos/backup-ddl/

Última actualización: 2025-11-02 Consolidado por: ARTEMIS (Agente de Migración)