fix(server): delete_session 级联删除 chat_messages(A1)

This commit is contained in:
lhl
2026-08-28 01:58:21 +08:00
parent c4f1773de0
commit 0424883cd0
2 changed files with 10 additions and 0 deletions
+1
View File
@@ -197,6 +197,7 @@ class SessionStore:
def delete_session(self, session_id: str) -> bool:
with self._conn() as c:
c.execute("DELETE FROM chat_messages WHERE session_id = ?", (session_id,))
cur = c.execute("DELETE FROM sessions WHERE session_id = ?", (session_id,))
return cur.rowcount > 0
+9
View File
@@ -234,3 +234,12 @@ def test_list_sessions_no_project_returns_all(store):
store.create_session("u1", name="A", project="stock")
store.create_session("u1", name="B", project="other")
assert len(store.list_sessions("u1")) == 2
def test_delete_session_cascades_messages(store):
rec = store.create_session("u1", name="A", project="stock")
store.add_message(rec.session_id, "user", "hi")
store.add_message(rec.session_id, "assistant", "ok")
assert len(store.list_messages(rec.session_id)) == 2
ok = store.delete_session(rec.session_id)
assert ok is True
assert store.list_messages(rec.session_id) == []