From 092e572e16f64fa7140a0fa0192538e102d55c07 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Fri, 22 Sep 2023 16:35:54 -0500 Subject: [PATCH] feat: move errata tags --- ietf/doc/migrations/0019_move_errata_tags.py | 29 ++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ietf/doc/migrations/0019_move_errata_tags.py diff --git a/ietf/doc/migrations/0019_move_errata_tags.py b/ietf/doc/migrations/0019_move_errata_tags.py new file mode 100644 index 000000000..dc064172a --- /dev/null +++ b/ietf/doc/migrations/0019_move_errata_tags.py @@ -0,0 +1,29 @@ +# Copyright The IETF Trust 2023, All Rights Reserved + +from django.db import migrations + +from django.db.models import Subquery, OuterRef, F + + +def forward(apps, schema_editor): + Document = apps.get_model("doc", "Document") + RelatedDocument = apps.get_model("doc", "RelatedDocument") + Document.tags.through.objects.filter( + doctagname_id__in=["errata", "verified-errata"], document__type_id="draft" + ).annotate( + rfcdoc=Subquery( + RelatedDocument.objects.filter( + relationship_id="became_rfc", source_id=OuterRef("document__pk") + ).values_list("target__pk", flat=True)[:1] + ) + ).update( + document_id=F("rfcdoc") + ) + + +class Migration(migrations.Migration): + dependencies = [ + ("doc", "0018_subseries"), + ] + + operations = [migrations.RunPython(forward)]