-- ===================================================== -- Seed: educational_content.modules (PROD) -- Description: Módulos educativos de Marie Curie para producción -- Environment: PRODUCTION -- Dependencies: None -- Order: 01 -- Created: 2025-11-11 -- Version: 2.1 (módulos 4-5 en backlog) -- ===================================================== -- -- CAMBIOS v2.1 (2025-11-23): -- - Módulos 4 y 5 cambiados a status 'backlog' -- - Módulos 4 y 5 marcados como is_published = false -- - Actualizados títulos y descripciones de módulos 4-5 según DocumentoDeDiseño v6.4 -- - GAP-003 RESUELTO: Módulos visibles en UI con mensaje "En Construcción" -- -- CAMBIOS v2.0: -- - Convertido de STRING a UUID -- - Agregadas todas las columnas del schema completo -- - Cambiado NOW() → gamilit.now_mexico() -- - Estructura alineada 100% con DDL -- -- VALIDADO CONTRA: -- - DDL: ddl/schemas/educational_content/tables/01-modules.sql -- - Template: seeds/dev/educational_content/01-modules.sql -- - DocumentoDeDiseño_Mecanicas_GAMILIT_v6_1.md -- -- ===================================================== SET search_path TO educational_content, public; -- ===================================================== -- INSERT: 5 Módulos de Marie Curie (PRODUCTION) -- ===================================================== INSERT INTO educational_content.modules ( tenant_id, title, description, order_index, module_code, difficulty_level, estimated_duration_minutes, learning_objectives, xp_reward, ml_coins_reward, status, is_published, created_at, updated_at ) VALUES -- Módulo 1: Comprensión Literal ( NULL, -- tenant_id NULL = disponible para todos 'Módulo 1: Comprensión Literal', 'Identifica información explícita en textos sobre la vida de Marie Curie', 1, 'MOD-01-LITERAL', 'beginner', 120, ARRAY['Identificar datos explícitos', 'Comprender hechos históricos', 'Reconocer personajes y lugares'], 100, 50, 'published', true, gamilit.now_mexico(), gamilit.now_mexico() ), -- Módulo 2: Comprensión Inferencial ( NULL, 'Módulo 2: Comprensión Inferencial', 'Deduce información implícita y relaciones causa-efecto en la vida de Marie Curie', 2, 'MOD-02-INFERENCIAL', 'intermediate', 120, ARRAY['Realizar inferencias', 'Identificar relaciones causa-efecto', 'Deducir información implícita'], 150, 75, 'published', true, gamilit.now_mexico(), gamilit.now_mexico() ), -- Módulo 3: Comprensión Crítica ( NULL, 'Módulo 3: Comprensión Crítica', 'Evalúa y analiza críticamente la información sobre Marie Curie', 3, 'MOD-03-CRITICA', 'advanced', 120, ARRAY['Evaluar argumentos', 'Analizar perspectivas', 'Formar opiniones fundamentadas'], 200, 100, 'published', true, gamilit.now_mexico(), gamilit.now_mexico() ), -- Módulo 4: Lectura Digital (BACKLOG - Fuera de alcance de entrega actual) ( NULL, 'Módulo 4: Lectura Digital y Multimodal', 'Desarrolla habilidades de lectura en medios digitales y multimodales con contenido de Marie Curie', 4, 'MOD-04-DIGITAL', 'intermediate', 120, ARRAY['Navegar contenido hipertextual', 'Evaluar fuentes digitales', 'Sintetizar información multimedia', 'Analizar memes y contenido visual'], 175, 85, 'backlog', -- ← Módulo en backlog, visible con mensaje "En Construcción" false, -- ← No publicado para evitar acceso a ejercicios gamilit.now_mexico(), gamilit.now_mexico() ), -- Módulo 5: Producción y Expresión Lectora (BACKLOG - Fuera de alcance de entrega actual) ( NULL, 'Módulo 5: Producción y Expresión Lectora', 'Crea textos diversos y expresiones lectoras basadas en la vida y obra de Marie Curie', 5, 'MOD-05-PRODUCCION', 'advanced', 120, ARRAY['Producir textos argumentativos', 'Crear contenido multimedia', 'Expresar ideas con claridad', 'Desarrollar presentaciones creativas'], 250, 125, 'backlog', -- ← Módulo en backlog, visible con mensaje "En Construcción" false, -- ← No publicado para evitar acceso a ejercicios gamilit.now_mexico(), gamilit.now_mexico() ) ON CONFLICT (module_code) DO UPDATE SET title = EXCLUDED.title, description = EXCLUDED.description, order_index = EXCLUDED.order_index, status = EXCLUDED.status, is_published = EXCLUDED.is_published, updated_at = gamilit.now_mexico(); -- ===================================================== -- Verification Query -- ===================================================== DO $$ DECLARE module_count INTEGER; published_count INTEGER; BEGIN SELECT COUNT(*) INTO module_count FROM educational_content.modules; SELECT COUNT(*) INTO published_count FROM educational_content.modules WHERE is_published = true; RAISE NOTICE '✓ Módulos insertados: % total (% publicados)', module_count, published_count; END $$;