CREATE TABLE IF NOT EXISTS `ie_anio_especialidad_modulo` (
  `id_especialidad_modulo` int unsigned NOT NULL AUTO_INCREMENT,
  `id_anio_lectivo` smallint unsigned NOT NULL,
  `codigo` varchar(20) NOT NULL,
  `especialidad` varchar(120) NOT NULL,
  `modulo` varchar(160) NOT NULL,
  `estado` tinyint(1) NOT NULL DEFAULT 1,
  `creado_en` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id_especialidad_modulo`),
  UNIQUE KEY `uq_ie_anio_especialidad_modulo` (`id_anio_lectivo`, `codigo`),
  KEY `idx_ie_anio_especialidad_estado` (`estado`),
  CONSTRAINT `fk_ie_anio_especialidad_anio`
    FOREIGN KEY (`id_anio_lectivo`) REFERENCES `anio_lectivo` (`id_anio_lectivo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT IGNORE INTO `anio_lectivo`
(`id_anio_lectivo`, `id_institucion`, `anio`, `descripcion`, `fecha_inicio`, `fecha_fin`, `estado`)
VALUES
(2011, 1, 2011, 'Año lectivo 2011', '2011-03-03', '2011-12-15', 1),
(2012, 1, 2012, 'Año lectivo 2012', '2012-03-01', '2013-02-28', 1),
(2013, 1, 2013, 'Año lectivo 2013', '2013-03-01', '2014-02-28', 1),
(2014, 1, 2014, 'Año lectivo 2014', '2014-03-10', '2015-02-28', 1),
(2015, 1, 2015, 'Año lectivo 2015', '2015-03-01', '2016-02-28', 1),
(2016, 1, 2016, 'Año lectivo 2016', '2016-03-07', '2017-02-28', 1),
(2017, 1, 2017, 'Año lectivo 2017', '2017-03-01', '2018-02-28', 1),
(2018, 1, 2018, 'Año lectivo 2018', '2018-03-01', '2019-02-28', 1),
(2019, 1, 2019, 'Año lectivo 2019', '2019-03-11', '2020-02-28', 1),
(2020, 1, 2020, 'Año lectivo 2020', '2020-03-16', '2021-02-26', 1),
(2021, 1, 2021, 'Año lectivo 2021', '2021-03-01', '2022-02-28', 1),
(2022, 1, 2022, 'Año lectivo 2022', '2022-03-14', '2023-02-28', 1),
(2023, 1, 2023, 'Año lectivo 2023', '2023-03-01', '2023-12-31', 1),
(2024, 1, 2024, 'Año lectivo 2024', '2024-03-11', '2024-12-31', 1),
(2025, 1, 2025, 'Año lectivo 2025', '2025-03-01', '2025-12-31', 1),
(2026, 1, 2026, 'Año lectivo 2026', '2026-03-02', '2026-12-31', 1);

INSERT INTO `ie_anio_especialidad_modulo`
(`id_anio_lectivo`, `codigo`, `especialidad`, `modulo`, `estado`, `creado_en`, `actualizado_en`)
VALUES
(2026, 'PRI', 'Educacion Primaria', 'Matricula, asistencia y evaluacion', 1, NOW(), NOW()),
(2026, 'SEC', 'Educacion Secundaria', 'Matricula, asistencia y evaluacion', 1, NOW(), NOW())
ON DUPLICATE KEY UPDATE
  `especialidad` = VALUES(`especialidad`),
  `modulo` = VALUES(`modulo`),
  `estado` = 1,
  `actualizado_en` = NOW();
