-- ============================================================================
-- 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;
