From 9d0187dbff675f7fe96a223cc614177fa9b57fb7 Mon Sep 17 00:00:00 2001 From: Mathieu Agopian Date: Tue, 6 Oct 2026 16:08:34 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(migration)=20export=20management=20co?= =?UTF-8?q?mmand=20also=20exports=20DocumentAskForAccess?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Export the access requests Signed-off-by: Mathieu Agopian --- .../management/commands/export_migration.py | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/backend/core/management/commands/export_migration.py b/src/backend/core/management/commands/export_migration.py index 29e9dbdc6..fe01f2daa 100644 --- a/src/backend/core/management/commands/export_migration.py +++ b/src/backend/core/management/commands/export_migration.py @@ -25,7 +25,15 @@ from datetime import datetime from django.core.management.base import BaseCommand -from core.models import Document, DocumentAccess, DocumentFavorite, Invitation, LinkTrace, User +from core.models import ( + Document, + DocumentAccess, + DocumentAskForAccess, + DocumentFavorite, + Invitation, + LinkTrace, + User, +) try: from zoneinfo import ZoneInfo as _ZoneInfo @@ -74,6 +82,7 @@ class Command(BaseCommand): self._export_document_accesses(stream) self._export_invitations(stream) self._export_link_traces(stream) + self._export_document_ask_for_accesses(stream) self._export_document_favorites(stream) def _progress(self, label, count, done=False): @@ -149,6 +158,19 @@ class Command(BaseCommand): self._progress("link traces", count) self._progress("link traces", count, done=True) + def _export_document_ask_for_accesses(self, stream): + """Export all concrete DocumentAskForAccess fields.""" + self.stderr.write("Exporting document ask-for-accesses...") + count = 0 + for ask in ( + DocumentAskForAccess.objects.order_by("created_at").values().iterator() + ): + pk = ask.pop("id") + _write(stream, "core.documentaskforaccess", pk, ask) + count += 1 + self._progress("document ask-for-accesses", count) + self._progress("document ask-for-accesses", count, done=True) + def _export_document_favorites(self, stream): """Export all concrete DocumentFavorite fields.""" self.stderr.write("Exporting document favorites...")