31 lines
1.2 KiB
SQL
31 lines
1.2 KiB
SQL
-- Migration v3 : stockage date/heure dans le bon format pour permettre le tri
|
|
-- Ajoute :
|
|
-- jour_text text -- fallback quand la cellule "Date" contient du texte libre
|
|
-- (ex: "A partir du 14/01", "Mercredi / Jeudi", "15/04 - 16/04")
|
|
-- heure_t time -- heure typée pour tri SQL/JS
|
|
-- Backfill heure_t depuis la colonne heure existante (formats "9H00", "12h30", "9:00").
|
|
-- Idempotent.
|
|
|
|
ALTER TABLE public.patch_planning_import_rows
|
|
ADD COLUMN IF NOT EXISTS jour_text text,
|
|
ADD COLUMN IF NOT EXISTS heure_t time;
|
|
|
|
-- Backfill heure_t depuis l'existant (uniquement si pas déjà rempli)
|
|
UPDATE public.patch_planning_import_rows
|
|
SET heure_t = CASE
|
|
-- "9H00", "12h30", "14H00"
|
|
WHEN heure ~* '^[0-9]{1,2}[Hh][0-9]{2}$' THEN
|
|
((regexp_replace(heure, '[Hh]', ':')) || ':00')::time
|
|
-- "9:00", "14:30"
|
|
WHEN heure ~ '^[0-9]{1,2}:[0-9]{2}$' THEN
|
|
(heure || ':00')::time
|
|
-- "9:00:00"
|
|
WHEN heure ~ '^[0-9]{1,2}:[0-9]{2}:[0-9]{2}$' THEN
|
|
heure::time
|
|
ELSE NULL
|
|
END
|
|
WHERE heure IS NOT NULL AND heure_t IS NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_pp_rows_jour_heure
|
|
ON public.patch_planning_import_rows(jour, heure_t);
|