47 lines
2.2 KiB
SQL
47 lines
2.2 KiB
SQL
-- ============================================================================
|
|||
|
|
-- Migration 004 — échéances du calendrier
|
||
|
|
--
|
||
|
|
-- La page « calendrier » agrège trois natures d'échéance :
|
||
|
|
--
|
||
|
|
-- * celles qui appartiennent à un texte (décision attendue du Conseil
|
||
|
|
-- constitutionnel, entrée en vigueur, prochaine étape) — dérivées de
|
||
|
|
-- `textes`, `evenements` et `decisions_cc` ;
|
||
|
|
-- * celles qui n'appartiennent à aucun texte mais structurent la fenêtre de
|
||
|
|
-- veille : sénatoriales du 27 septembre, présentation du projet de loi de
|
||
|
|
-- finances 2027, rentrée parlementaire ordinaire du 1ᵉʳ octobre.
|
||
|
|
--
|
||
|
|
-- Cette table porte les secondes. Le champ `concerne_guadeloupe` est explicite
|
||
|
|
-- et non déductible : le scrutin sénatorial du 27 septembre 2026 ne concerne
|
||
|
|
-- PAS la Guadeloupe (série 1, renouvelée en 2023), ce que le §7 du cahier des
|
||
|
|
-- charges impose de ne pas se tromper.
|
||
|
|
-- ============================================================================
|
||
|
|
|
||
|
|
CREATE TABLE echeances (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
code TEXT NOT NULL UNIQUE, -- « senatoriales-2026 »
|
||
|
|
date_echeance TEXT NOT NULL,
|
||
|
|
libelle TEXT NOT NULL,
|
||
|
|
description TEXT,
|
||
|
|
|
||
|
|
-- `nationale` : elle vaut pour l'ensemble du territoire ;
|
||
|
|
-- `texte` : elle découle d'un texte suivi (FK renseignée).
|
||
|
|
portee TEXT NOT NULL DEFAULT 'nationale'
|
||
|
|
CHECK (portee IN ('nationale', 'texte')),
|
||
|
|
texte_id TEXT REFERENCES textes (id) ON DELETE CASCADE,
|
||
|
|
|
||
|
|
-- 1 = concerne la Guadeloupe, 0 = ne la concerne pas, NULL = non tranché.
|
||
|
|
concerne_guadeloupe INTEGER CHECK (concerne_guadeloupe IN (0, 1)),
|
||
|
|
note_guadeloupe TEXT,
|
||
|
|
|
||
|
|
-- Vrai tant que l'échéance est prévisionnelle (postérieure à la date
|
||
|
|
-- d'arrêté du corpus et non confirmée par un collecteur).
|
||
|
|
previsionnel INTEGER NOT NULL DEFAULT 1 CHECK (previsionnel IN (0, 1)),
|
||
|
|
|
||
|
|
source_url TEXT,
|
||
|
|
source_extrait TEXT,
|
||
|
|
cree_le TEXT NOT NULL DEFAULT (datetime('now'))
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX idx_echeances_date ON echeances (date_echeance);
|
||
|
|
CREATE INDEX idx_echeances_texte ON echeances (texte_id);
|