From e2caecba2f1a18bbdd1e413db7cd47ec201d8b36 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Tue, 22 Sep 2020 15:25:58 +0000 Subject: [PATCH] Added a migration to create missing DocAlias instances (and remove some bad ones). - Legacy-Id: 18511 --- .../0037_clean_up_missing_docaliases.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ietf/doc/migrations/0037_clean_up_missing_docaliases.py diff --git a/ietf/doc/migrations/0037_clean_up_missing_docaliases.py b/ietf/doc/migrations/0037_clean_up_missing_docaliases.py new file mode 100644 index 000000000..d26f03816 --- /dev/null +++ b/ietf/doc/migrations/0037_clean_up_missing_docaliases.py @@ -0,0 +1,34 @@ +# Generated by Django 2.2.16 on 2020-09-22 07:58 + +import sys +import debug + +from django.db import migrations + + +def forward(apps, schema_editor): + Document = apps.get_model('doc', 'Document') + DocAlias = apps.get_model('doc', 'DocAlias') + + docs_without_alias = Document.objects.filter(docalias__isnull=True) + debug.show('docs_without_alias.count()') + + bad_aliases = DocAlias.objects.filter(name__in=docs_without_alias.values_list('name')) + debug.show('bad_aliases.count()') + bad_aliases.delete() + + for doc in docs_without_alias: + DocAlias.objects.create(name=doc.name).docs.add(doc) + +def reverse(apps, schema_editor): + pass + +class Migration(migrations.Migration): + + dependencies = [ + ('doc', '0036_orgs_vs_repos'), + ] + + operations = [ + migrations.RunPython(forward, reverse), + ]