-- =========================================================================
-- MIGRACIÓN DE ACTUALIZACIÓN - CHECKLIST DE EVALUACIÓN ATENEA 2026
-- =========================================================================

USE atenea_congreso_2026;

-- 1. Agregar columnas necesarias a la tabla de usuarios
ALTER TABLE usuarios ADD COLUMN nivel VARCHAR(100) NULL DEFAULT NULL AFTER carrera_id;
ALTER TABLE usuarios ADD COLUMN tipo_beca VARCHAR(120) NULL DEFAULT NULL AFTER nivel;
ALTER TABLE usuarios ADD COLUMN beca_archivo VARCHAR(255) NULL DEFAULT NULL AFTER tipo_beca;

-- 2. Modificar el ENUM de tipo_trabajo en ponencias_ojs (migración segura)
ALTER TABLE ponencias_ojs MODIFY COLUMN tipo_trabajo VARCHAR(100) NOT NULL;
UPDATE ponencias_ojs SET tipo_trabajo = CASE 
    WHEN tipo_trabajo = 'articulo' THEN 'ponente_oral' 
    WHEN tipo_trabajo = 'microarticulo' THEN 'ponente_oral' 
    ELSE 'poster_cientifico' 
END;
ALTER TABLE ponencias_ojs MODIFY COLUMN tipo_trabajo ENUM('ponente_oral', 'poster_cientifico', 'taller_tecnico') NOT NULL;

-- 3. Actualizar los ejes temáticos oficiales para 2026
-- Desactivar llaves foráneas temporalmente para actualizar la tabla de ejes temáticos
SET FOREIGN_KEY_CHECKS = 0;

TRUNCATE TABLE ejes_tematicos;

INSERT INTO ejes_tematicos (id, nombre, descripcion, estado) VALUES 
(1, 'Ciencias de la Salud y Prevención Integral', 'Investigación y metodologías sobre prevención integral, salud comunitaria, enfermería y bienestar.', 'activo'),
(2, 'Educación, Pedagogía y Desarrollo Humano', 'Desarrollo de nuevas prácticas pedagógicas, innovación educativa y desarrollo humano.', 'activo'),
(3, 'Tecnología, Desarrollo de Software e Inteligencia Artificial', 'Avances en desarrollo de software, adopción de inteligencia artificial y soluciones tecnológicas aplicadas.', 'activo'),
(4, 'Marketing, Negocios y Emprendimiento', 'Estrategias comerciales, gestión empresarial y emprendimiento tecnológico e industrial.', 'activo');

SET FOREIGN_KEY_CHECKS = 1;

-- 4. Actualizar la configuración del evento por defecto
UPDATE configuracion_evento SET 
    nombre = 'ATENEA 2026: I Congreso Internacional Científico y Académico de Investigación, Innovación y Transferencia del Conocimiento',
    fecha_inicio = '2026-08-28',
    fecha_fin = '2026-08-29',
    ciudad = 'Sedes Físicas CGE',
    descripcion = 'Espacio científico de convergencia académica para investigación, innovación y transferencia de conocimiento.'
WHERE id = 1;

-- Si por alguna razón no existía el id 1, lo insertamos
INSERT INTO configuracion_evento (id, nombre, fecha_inicio, fecha_fin, ciudad, descripcion)
SELECT 1, 'ATENEA 2026: I Congreso Internacional Científico y Académico de Investigación, Innovación y Transferencia del Conocimiento', '2026-08-28', '2026-08-29', 'Sedes Físicas CGE', 'Espacio científico de convergencia académica para investigación, innovación y transferencia de conocimiento.'
WHERE NOT EXISTS (SELECT 1 FROM configuracion_evento WHERE id = 1);

-- 5. Ajustar costos base en los roles
UPDATE roles SET costo = 40.00 WHERE slug = 'ponente_virtual';
UPDATE roles SET costo = 60.00 WHERE slug = 'ponente_presencial';
-- Se establece el costo de los estudiantes a 0 en la tabla de roles para gestionar su cálculo de forma dinámica
UPDATE roles SET costo = 0.00 WHERE slug IN ('estudiante_asistente', 'estudiante_ponente');

-- 6. Actualizar las fechas de la agenda para el rango del evento (28 y 29 de agosto de 2026)
UPDATE agenda SET fecha = '2026-08-28' WHERE id IN (1, 2, 4);
UPDATE agenda SET fecha = '2026-08-29' WHERE id = 3;
