fix: delete the DB row before the files in delete_document

File-first ordering meant a failed DB delete left a listed, 'completed'
document whose files were gone — and its surviving file_hash made
re-adding the same file dedup to the broken doc. DB-first (the order
delete_collection already uses) degrades the same failure to harmless
orphan files.
This commit is contained in:
Ray 2026-07-21 18:03:49 +08:00
parent 7eae8caf3a
commit 8c7f622112

View file

@ -245,9 +245,6 @@ class LocalBackend:
def delete_document(self, collection: str, doc_id: str) -> None:
doc = self._require_document(collection, doc_id)
# DB row first, files after (same order as delete_collection): a failure
# mid-way then leaves harmless orphan files, not a listed document whose
# files are gone.
self._storage.delete_document(collection, doc_id)
if doc.get("file_path"):
Path(doc["file_path"]).unlink(missing_ok=True)