|
|
@@ -0,0 +1,35 @@
|
|
|
+#!/usr/bin/env python3
|
|
|
+"""Clear all news data but keep feed_state rows intact."""
|
|
|
+
|
|
|
+import sqlite3
|
|
|
+import sys
|
|
|
+from pathlib import Path
|
|
|
+
|
|
|
+DB_PATH = Path(__file__).resolve().parent.parent / "data" / "news.sqlite"
|
|
|
+
|
|
|
+if len(sys.argv) > 1:
|
|
|
+ DB_PATH = Path(sys.argv[1])
|
|
|
+
|
|
|
+if not DB_PATH.exists():
|
|
|
+ print(f"DB not found: {DB_PATH}", file=sys.stderr)
|
|
|
+ sys.exit(1)
|
|
|
+
|
|
|
+TABLES_TO_CLEAR = [
|
|
|
+ "cluster_entities",
|
|
|
+ "cluster_keywords",
|
|
|
+ "entity_metadata",
|
|
|
+ "clusters",
|
|
|
+ "meta",
|
|
|
+]
|
|
|
+
|
|
|
+conn = sqlite3.connect(str(DB_PATH))
|
|
|
+for table in TABLES_TO_CLEAR:
|
|
|
+ conn.execute(f"DELETE FROM {table}")
|
|
|
+conn.commit()
|
|
|
+
|
|
|
+# Report remaining feed_state count
|
|
|
+cur = conn.execute("SELECT COUNT(*) FROM feed_state")
|
|
|
+feed_count = cur.fetchone()[0]
|
|
|
+conn.close()
|
|
|
+
|
|
|
+print(f"Done. Cleared: {', '.join(TABLES_TO_CLEAR)}. feed_state rows kept: {feed_count}")
|