Files
veye-lalwa/pipeline/migrations/002_regime_libertes.sql
T

33 lines
1.5 KiB
SQL
Raw Normal View History

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