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