feat: run full refresh with EPG rematching

Run full live catalog refreshes through live source sync, complete channel analysis, EPG source refresh, and persisted EPG rematching while keeping check-new incremental.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
blomios
2026-10-08 00:05:00 +02:00
parent b81bc10d49
commit b3dbb3cfba
14 changed files with 404 additions and 39 deletions

View File

@ -54,6 +54,20 @@ const LIVE_PROJECTION_SCHEMA_SQL = `
item_count INTEGER NOT NULL DEFAULT 0
);
CREATE TABLE IF NOT EXISTS live_epg_matches (
id INTEGER PRIMARY KEY AUTOINCREMENT,
logical_channel_id TEXT NOT NULL,
language_code TEXT NOT NULL,
source_id INTEGER,
channel_id TEXT,
match_confidence REAL NOT NULL DEFAULT 0,
data JSON,
updated_at INTEGER NOT NULL,
UNIQUE (logical_channel_id, language_code)
);
CREATE INDEX IF NOT EXISTS idx_live_epg_matches_channel
ON live_epg_matches(logical_channel_id, language_code);
CREATE TABLE IF NOT EXISTS catalog_projection_state (
projection TEXT PRIMARY KEY,
status TEXT NOT NULL,