-- =====================================================================
-- SIMAP — Dukungan jenjang SMP dan SMA
--
--   mysql -u root -p simap_db < database/08_jenjang_smp_sma.sql
--
-- Sistem semula dirancang untuk SD, sehingga fase pembelajaran hanya
-- mengenal A, B, dan C. Kurikulum Merdeka memakai enam fase:
--
--   Fase A  kelas 1-2      Fase D  kelas 7-9    (SMP)
--   Fase B  kelas 3-4      Fase E  kelas 10     (SMA)
--   Fase C  kelas 5-6      Fase F  kelas 11-12  (SMA)
--
-- Berkas ini memperluas enum fase dan menambah pengaturan jenjang.
-- Aman dijalankan berulang dan tidak mengubah data yang sudah ada.
-- =====================================================================

SET NAMES utf8mb4;

ALTER TABLE atp               MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE cp                MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE modul_ajar        MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE dimensi_indikator MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE kelas             MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE bank_soal         MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE prota             MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;
ALTER TABLE game              MODIFY fase ENUM('A','B','C','D','E','F') DEFAULT NULL;

-- Mata pelajaran SMP dan SMA berlaku sampai kelas 12
ALTER TABLE mapel MODIFY tingkat_max TINYINT DEFAULT 12;

INSERT IGNORE INTO setting (skey, svalue, tipe, grup, label) VALUES
 ('jenjang', 'SD', 'text', 'sekolah', 'Jenjang sekolah: SD, SMP, atau SMA'),
 ('tingkat_min', '1', 'number', 'sekolah', 'Kelas terendah'),
 ('tingkat_max', '6', 'number', 'sekolah', 'Kelas tertinggi');

-- Contoh: mengubah menjadi SMP
--   UPDATE setting SET svalue='SMP' WHERE skey='jenjang';
--   UPDATE setting SET svalue='7'   WHERE skey='tingkat_min';
--   UPDATE setting SET svalue='9'   WHERE skey='tingkat_max';

SELECT 'jenjang SMP dan SMA didukung' AS info,
       (SELECT COLUMN_TYPE FROM information_schema.COLUMNS
         WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME='kelas' AND COLUMN_NAME='fase') AS enum_fase;
