fix: populate rfc_number on DocHistory with type_id rfc

This commit is contained in:
Robert Sparks 2023-09-15 17:33:05 -05:00
parent e0e647fa75
commit a39a058a01
No known key found for this signature in database
GPG key ID: 6E2A6A5775F91318

View file

@ -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):