Skip to content
Snippets Groups Projects
Commit dad77a88 authored by ml bonhomme's avatar ml bonhomme :bee:
Browse files

Delete task artifacts before deleting processes in corpus delete

parent c76fdeeb
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !2302. Comments created here will be created in the context of that merge request.
......@@ -21,7 +21,7 @@ from arkindex.documents.models import (
Transcription,
TranscriptionEntity,
)
from arkindex.ponos.models import Task
from arkindex.ponos.models import Artifact, Task
from arkindex.process.models import Process, ProcessDatasetSet, ProcessElement, WorkerActivity, WorkerRun
from arkindex.training.models import DatasetElement, DatasetSet
from arkindex.users.models import User
......@@ -67,6 +67,8 @@ def corpus_delete(corpus_id: str) -> None:
Selection.objects.filter(element__corpus_id=corpus_id),
corpus.memberships.all(),
corpus.exports.all(),
# Delete task artifacts
Artifact.objects.filter(task__process__corpus_id=corpus_id),
# ProcessDatasetSet M2M
ProcessDatasetSet.objects.filter(set__dataset__corpus_id=corpus_id),
ProcessDatasetSet.objects.filter(process__corpus_id=corpus_id),
......
......@@ -152,6 +152,15 @@ DELETE
FROM "documents_corpusexport"
WHERE "documents_corpusexport"."corpus_id" = '{corpus_id}'::uuid;
DELETE
FROM "ponos_artifact"
WHERE "ponos_artifact"."id" IN
(SELECT U0."id"
FROM "ponos_artifact" U0
INNER JOIN "ponos_task" U1 ON (U0."task_id" = U1."id")
INNER JOIN "process_process" U2 ON (U1."process_id" = U2."id")
WHERE U2."corpus_id" = '{corpus_id}'::uuid);
DELETE
FROM "process_processdatasetset"
WHERE "process_processdatasetset"."id" IN
......
......@@ -156,6 +156,15 @@ DELETE
FROM "documents_corpusexport"
WHERE "documents_corpusexport"."corpus_id" = '{corpus_id}'::uuid;
DELETE
FROM "ponos_artifact"
WHERE "ponos_artifact"."id" IN
(SELECT U0."id"
FROM "ponos_artifact" U0
INNER JOIN "ponos_task" U1 ON (U0."task_id" = U1."id")
INNER JOIN "process_process" U2 ON (U1."process_id" = U2."id")
WHERE U2."corpus_id" = '{corpus_id}'::uuid);
DELETE
FROM "process_processdatasetset"
WHERE "process_processdatasetset"."id" IN
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment