-- ============================================================ -- PTA V5.17 - Périodes de vacances scolaires -- ============================================================ -- Les dates sont validées manuellement par l'utilisateur avant -- d'être enregistrées, même lorsqu'elles proviennent de l'API -- officielle du calendrier scolaire. -- -- date_fin est stockée de façon INCLUSIVE dans PTA. -- Pour une proposition issue de l'API, la date de reprise fournie -- par l'API est convertie en dernier jour de vacances (veille). CREATE TABLE IF NOT EXISTS periode_vacance ( id_periode INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, libelle VARCHAR(150) NOT NULL, date_debut DATE NOT NULL, date_fin DATE NOT NULL, annee_scolaire VARCHAR(9) NOT NULL, academie VARCHAR(100) NOT NULL DEFAULT '', zone VARCHAR(50) NOT NULL DEFAULT '', source ENUM('MANUEL', 'DATA_GOUV') NOT NULL DEFAULT 'MANUEL', actif BOOLEAN NOT NULL DEFAULT TRUE, date_creation DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT chk_periode_vacance_dates CHECK (date_fin >= date_debut), UNIQUE KEY uk_periode_vacance ( date_debut, date_fin, annee_scolaire, academie ), KEY idx_periode_vacance_dates (date_debut, date_fin), KEY idx_periode_vacance_annee (annee_scolaire) ) ENGINE = InnoDB;