diff options
Diffstat (limited to 'docs/migrations')
| -rw-r--r-- | docs/migrations/0008_documentrelease_global_context.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/docs/migrations/0008_documentrelease_global_context.py b/docs/migrations/0008_documentrelease_global_context.py new file mode 100644 index 00000000..79dfe154 --- /dev/null +++ b/docs/migrations/0008_documentrelease_global_context.py @@ -0,0 +1,44 @@ +# Generated by Django 6.0.4 on 2026-05-06 09:20 + +import json + +from django.conf import settings +from django.db import migrations, models + + +def set_documentrelease_global_context(apps, schema_editor): + DocumentRelease = apps.get_model("docs", "DocumentRelease") + for doc_release in DocumentRelease.objects.filter(release__isnull=False): + if not doc_release.global_context: + try: + with open( + settings.DOCS_BUILD_ROOT + / doc_release.lang + / doc_release.release.version + / "_built" + / "json" + / "globalcontext.json" + ) as context: + doc_release.global_context = json.load(context) + except FileNotFoundError: + pass + else: + doc_release.save(update_fields=["global_context"]) + + +class Migration(migrations.Migration): + + dependencies = [ + ("docs", "0007_add_docs_search_vector"), + ] + + operations = [ + migrations.AddField( + model_name="documentrelease", + name="global_context", + field=models.JSONField(default=dict), + ), + migrations.RunPython( + set_documentrelease_global_context, migrations.RunPython.noop, elidable=True + ), + ] |
