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), + ]