CREATE TABLE IF NOT EXISTS `ie_fase_anio` (
  `id_fase` int unsigned NOT NULL AUTO_INCREMENT,
  `id_anio_lectivo` smallint unsigned NOT NULL,
  `codigo` varchar(10) NOT NULL,
  `descripcion` varchar(120) NOT NULL,
  `fecha_inicio` date NOT NULL,
  `fecha_fin` date NOT NULL,
  `estado` enum('ACTIVO','INACTIVO','CERRADO') NOT NULL DEFAULT 'ACTIVO',
  `permite_asistencia` tinyint(1) NOT NULL DEFAULT 1,
  `estado_registro` tinyint(1) NOT NULL DEFAULT 1,
  `creado_en` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id_fase`),
  UNIQUE KEY `uq_ie_fase_anio_codigo` (`id_anio_lectivo`, `codigo`),
  KEY `idx_ie_fase_anio_estado` (`id_anio_lectivo`, `estado`, `estado_registro`),
  CONSTRAINT `fk_ie_fase_anio_anio`
    FOREIGN KEY (`id_anio_lectivo`) REFERENCES `anio_lectivo` (`id_anio_lectivo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

UPDATE `anio_lectivo`
SET `descripcion` = CONCAT(CONVERT(0x41C3B16F206C65637469766F20 USING utf8mb4), `id_anio_lectivo`);

INSERT INTO `ie_fase_anio`
(`id_anio_lectivo`, `codigo`, `descripcion`, `fecha_inicio`, `fecha_fin`, `estado`, `permite_asistencia`, `estado_registro`, `creado_en`, `actualizado_en`)
VALUES
(2026, '01', 'Fase Regular', '2026-03-16', '2026-12-18', 'ACTIVO', 1, 1, NOW(), NOW()),
(2026, '02', 'Fase de Recuperacion', '2027-01-04', '2027-02-26', 'INACTIVO', 1, 1, NOW(), NOW())
ON DUPLICATE KEY UPDATE
  `descripcion` = VALUES(`descripcion`),
  `fecha_inicio` = VALUES(`fecha_inicio`),
  `fecha_fin` = VALUES(`fecha_fin`),
  `estado` = VALUES(`estado`),
  `permite_asistencia` = VALUES(`permite_asistencia`),
  `estado_registro` = 1,
  `actualizado_en` = NOW();
