-- ============================================================================ -- Journées spéciales : portée nationale (toutes les églises) vs district uniquement -- Base : gestionbudget (même base que journees_speciales) -- ============================================================================ -- portee : 'nationale' = visible pour toutes les églises + suivie au niveau national (CEN) -- 'district' = réservée aux églises locales du district ; non suivie au national -- district_eglise_id : id dans `eglises` (core) du district (niveau regional) si portee = 'district' ALTER TABLE `journees_speciales` ADD COLUMN `portee` ENUM('nationale','district') NOT NULL DEFAULT 'nationale' COMMENT 'Nationale = toutes églises ; District = églises locales du district uniquement' AFTER `eglise_id`, ADD COLUMN `district_eglise_id` INT NULL DEFAULT NULL COMMENT 'Si portee=district : id eglise du district (niveau regional) dans base centrale' AFTER `portee`; ALTER TABLE `journees_speciales` ADD KEY `idx_js_portee` (`portee`), ADD KEY `idx_js_district_eglise` (`district_eglise_id`); -- Ancienne colonne eglise_id : ne gérait pas la logique métier ; on la rend nullable ALTER TABLE `journees_speciales` MODIFY COLUMN `eglise_id` INT NULL DEFAULT NULL; -- Données existantes : traiter comme journées nationales (toutes les églises) UPDATE `journees_speciales` SET `portee` = 'nationale', `district_eglise_id` = NULL, `eglise_id` = NULL WHERE 1 = 1;