From 69f083428d821f43305b80a04f5a3e33fbbab0f7 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 2 Sep 2021 15:27:05 -0400 Subject: [PATCH] Fixes #7149: Delete all changelog records referencing the old secrets app --- .../0062_clear_secrets_changelog.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 netbox/extras/migrations/0062_clear_secrets_changelog.py diff --git a/netbox/extras/migrations/0062_clear_secrets_changelog.py b/netbox/extras/migrations/0062_clear_secrets_changelog.py new file mode 100644 index 000000000..e76fc8d34 --- /dev/null +++ b/netbox/extras/migrations/0062_clear_secrets_changelog.py @@ -0,0 +1,26 @@ +from django.db import migrations + + +def clear_secrets_changelog(apps, schema_editor): + """ + Delete all ObjectChange records referencing a model within the old secrets app (pre-v3.0). + """ + ContentType = apps.get_model('contenttypes', 'ContentType') + ObjectChange = apps.get_model('extras', 'ObjectChange') + + content_type_ids = ContentType.objects.filter(app_label='secrets').values_list('id', flat=True) + ObjectChange.objects.filter(changed_object_type__in=content_type_ids).delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0061_extras_change_logging'), + ] + + operations = [ + migrations.RunPython( + code=clear_secrets_changelog, + reverse_code=migrations.RunPython.noop + ), + ]