-- 017_enrich_pending_signal.sql -- Découple « a besoin d'être ré-enrichi » de updated_at. -- -- Après la migration 016, updated_at ne bouge plus que sur changement réel d'un -- champ de listing (nom, pays, genre, statut, lieu). Problème : quand Metal -- Archives modifie un groupe sur un champ visible UNIQUEMENT sur la page du -- groupe (line-up, albums, thèmes), la liste archives/modified ne montre aucun -- diff au niveau listing → sans signal dédié, ce groupe ne serait ré-enrichi -- qu'au bout de 30 jours (filet stale). -- -- Solution : le crawler incrémental « modified » capture l'horodatage "modified" -- que MA affiche lui-même dans sa liste (ma_modified_seen). Quand ce texte change -- pour un groupe, on lève enrich_pending — une seule fois par modification MA, -- sans boucle. L'enrichissement remet enrich_pending à false. ALTER TABLE bands ADD COLUMN IF NOT EXISTS ma_modified_seen TEXT, ADD COLUMN IF NOT EXISTS enrich_pending BOOLEAN NOT NULL DEFAULT false; -- Index partiel pour la file d'enrichissement (peu de lignes à true à la fois) CREATE INDEX IF NOT EXISTS idx_bands_enrich_pending ON bands (enrich_pending) WHERE enrich_pending;