from pathlib import Path
p=Path('/opt/struktur/content-extraction/db.py'); s=p.read_text()
needle="CREATE TABLE IF NOT EXISTS ce_analysis_marks (\n"
block="""CREATE TABLE IF NOT EXISTS ce_analysis_batches (\n batch_id TEXT PRIMARY KEY,\n analysis_type TEXT NOT NULL,\n search_terms TEXT NOT NULL,\n sort_mode TEXT,\n requested_count INTEGER,\n recency_policy TEXT,\n purpose TEXT,\n started_at TEXT,\n completed_at TEXT,\n selected_count INTEGER DEFAULT 0,\n usable_count INTEGER DEFAULT 0,\n missing_count INTEGER DEFAULT 0,\n result_summary TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\n"""
if 'CREATE TABLE IF NOT EXISTS ce_analysis_batches' not in s:
if needle not in s: raise SystemExit('needle missing')
s=s.replace(needle,block+needle,1)
p.write_text(s); print('BATCH_SCHEMA_PATCH_OK')