diff --git a/ietf/doc/migrations/0017_move_dochistory.py b/ietf/doc/migrations/0017_move_dochistory.py index da3a902e6..e218b0aea 100644 --- a/ietf/doc/migrations/0017_move_dochistory.py +++ b/ietf/doc/migrations/0017_move_dochistory.py @@ -8,6 +8,7 @@ from django.db.models import Subquery, OuterRef, F def forward(apps, schema_editor): DocHistory = apps.get_model("doc", "DocHistory") RelatedDocument = apps.get_model("doc", "RelatedDocument") + Document = apps.get_model("doc", "Document") DocHistory.objects.filter(type_id="draft", doc__type_id="rfc").update(type_id="rfc") DocHistory.objects.filter( type_id="draft", doc__type_id="draft", name__startswith="rfc" @@ -20,9 +21,19 @@ def forward(apps, schema_editor): ).update( doc_id=F("rfc_id"), type_id="rfc" ) + DocHistory.objects.filter(type_id="rfc").annotate( + rfcno=Subquery( + Document.objects.filter(pk=OuterRef("doc_id")).values_list( + "rfc_number", flat=True + )[:1] + ) + ).update(rfc_number=F("rfcno")) assert not DocHistory.objects.filter( name__startswith="rfc", type_id="draft" ).exists() + assert not DocHistory.objects.filter( + type_id="rfc", rfc_number__isnull=True + ).exists() class Migration(migrations.Migration):