-- #759: deactivate_stale_avito schedule seeded enabled=false → task never ran on prod.
--
-- Root cause: migration 090 (ON CONFLICT (source) DO NOTHING) was a no-op because
-- the row 'deactivate_stale_avito' already existed in scrape_schedules with
-- enabled=false when 090 ran on prod (inserted by a pre-release iteration or manual
-- seed). The scheduler's WHERE enabled=true filter excluded it on every tick, so
-- last_run_id stayed NULL and next_run_at=2026-06-01 expired without any runs.
--
-- Fix: idempotent UPDATE that only fires when the row is still disabled.
-- Re-running this migration after the row is already enabled → 0 rows matched, safe.
--
-- No bind params → no CAST(:x AS type) needed; BEGIN/COMMIT per sql.md conventions.
BEGIN;
UPDATE scrape_schedules
   SET enabled    = true,
       next_run_at = NOW()
 WHERE source  = 'deactivate_stale_avito'
   AND enabled = false;
COMMIT;
