Fix: handle uuid fields created under mariadb and Django 4 (#8034)

This commit is contained in:
shamoon
2024-10-28 06:54:16 -07:00
committed by GitHub
parent 335c6c3820
commit 28fdb170bf
8 changed files with 128 additions and 7 deletions

View File

@@ -159,13 +159,20 @@ def modify_custom_fields(doc_ids: list[int], add_custom_fields, remove_custom_fi
@shared_task
def delete(doc_ids: list[int]):
Document.objects.filter(id__in=doc_ids).delete()
try:
Document.objects.filter(id__in=doc_ids).delete()
from documents import index
from documents import index
with index.open_index_writer() as writer:
for id in doc_ids:
index.remove_document_by_id(writer, id)
with index.open_index_writer() as writer:
for id in doc_ids:
index.remove_document_by_id(writer, id)
except Exception as e:
if "Data too long for column" in str(e):
logger.warning(
"Detected a possible incompatible database column. See https://docs.paperless-ngx.com/troubleshooting/#convert-uuid-field",
)
logger.error(f"Error deleting documents: {e!s}")
return "OK"