Added a migration to create missing DocAlias instances (and remove some bad ones).
- Legacy-Id: 18511
This commit is contained in:
parent
3023139c03
commit
e2caecba2f
34
ietf/doc/migrations/0037_clean_up_missing_docaliases.py
Normal file
34
ietf/doc/migrations/0037_clean_up_missing_docaliases.py
Normal file
|
@ -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),
|
||||
]
|
Loading…
Reference in a new issue