-- ============================================================================ -- Migration 002 — régime de libertés -- -- L'annexe du rapport (`sec10.md`, note méthodologique) cote chaque texte selon -- trois régimes : « droits+ » (création ou extension de droits), « contrôle+ » -- (restriction, ou extension des pouvoirs de contrôle), « mixte » ou « neutre ». -- -- Cette cotation porte sur le texte dans son ensemble : elle ne dit pas quel -- public est touché. Elle est donc stockée à part, et non dépliée d'office dans -- `impacts` — remplir les trois publics à partir d'une cotation globale -- reviendrait à inventer une ventilation que la source ne donne pas. -- ============================================================================ ALTER TABLE textes ADD COLUMN regime_libertes TEXT CHECK (regime_libertes IN ('droits_plus', 'controle_plus', 'mixte', 'neutre')); ALTER TABLE textes ADD COLUMN regime_libertes_note TEXT; CREATE INDEX idx_textes_regime ON textes (regime_libertes); DROP VIEW v_textes; CREATE VIEW v_textes AS SELECT t.*, (SELECT COUNT(*) FROM sources s WHERE s.texte_id = t.id) AS nb_sources, (SELECT COUNT(*) FROM evenements e WHERE e.texte_id = t.id) AS nb_evenements, CASE WHEN t.statut = 'saisie_cc' OR EXISTS (SELECT 1 FROM decisions_cc d WHERE d.texte_id = t.id AND d.date_decision IS NULL) THEN 1 ELSE 0 END AS devant_cc FROM textes t;