fix: purga de inicio borra api_usage antes de research_sessions
Build & Deploy ResearchOwl / build-and-push (push) Successful in 6s
Build & Deploy ResearchOwl / build-and-push (push) Successful in 6s
La purga de sesiones >30d fallaba con FOREIGN KEY constraint failed: api_usage.session_id referencia research_sessions(id) pero nunca se borraba antes de la sesión padre (con PRAGMA foreign_keys = ON). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
41e4e3f5d6
commit
ca0eb059e8
+3
-1
@@ -442,7 +442,7 @@ class ResearchDB:
|
|||||||
)
|
)
|
||||||
session_ids = [row[0] for row in await cursor.fetchall()]
|
session_ids = [row[0] for row in await cursor.fetchall()]
|
||||||
|
|
||||||
counts = {"sessions": 0, "sources": 0, "chunks": 0, "outputs": 0}
|
counts = {"sessions": 0, "sources": 0, "chunks": 0, "outputs": 0, "api_usage": 0}
|
||||||
|
|
||||||
for sid in session_ids:
|
for sid in session_ids:
|
||||||
await self.db.execute(
|
await self.db.execute(
|
||||||
@@ -453,6 +453,8 @@ class ResearchDB:
|
|||||||
counts["chunks"] += cur.rowcount
|
counts["chunks"] += cur.rowcount
|
||||||
cur = await self.db.execute("DELETE FROM outputs WHERE session_id = ?", (sid,))
|
cur = await self.db.execute("DELETE FROM outputs WHERE session_id = ?", (sid,))
|
||||||
counts["outputs"] += cur.rowcount
|
counts["outputs"] += cur.rowcount
|
||||||
|
cur = await self.db.execute("DELETE FROM api_usage WHERE session_id = ?", (sid,))
|
||||||
|
counts["api_usage"] += cur.rowcount
|
||||||
cur = await self.db.execute("DELETE FROM sources WHERE session_id = ?", (sid,))
|
cur = await self.db.execute("DELETE FROM sources WHERE session_id = ?", (sid,))
|
||||||
counts["sources"] += cur.rowcount
|
counts["sources"] += cur.rowcount
|
||||||
cur = await self.db.execute("DELETE FROM research_sessions WHERE id = ?", (sid,))
|
cur = await self.db.execute("DELETE FROM research_sessions WHERE id = ?", (sid,))
|
||||||
|
|||||||
Reference in New Issue
Block a user