37 lines
1.3 KiB
SQL
37 lines
1.3 KiB
SQL
-- ============================================================
|
|
-- 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;
|