aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2021-02-22 09:36:55 +0200
committerGravatar ks129 <[email protected]>2021-02-22 09:36:55 +0200
commit2fb5bf5dbdc6cdfe0a62d54bc7b726eab0199a59 (patch)
tree72d031a6c35f3578fc2d342d8554c8b16b1e2ad2
parentDisable creating multiple nomination entries of one nomination for one actor (diff)
Add rollback to nominations table split migration
-rw-r--r--pydis_site/apps/api/migrations/0068_split_nomination_tables.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/pydis_site/apps/api/migrations/0068_split_nomination_tables.py b/pydis_site/apps/api/migrations/0068_split_nomination_tables.py
index 2e2313ee..1c392365 100644
--- a/pydis_site/apps/api/migrations/0068_split_nomination_tables.py
+++ b/pydis_site/apps/api/migrations/0068_split_nomination_tables.py
@@ -21,6 +21,19 @@ def migrate_nominations(apps: Apps, schema_editor: BaseDatabaseSchemaEditor) ->
nomination_entry.save()
+def unmigrate_nominations(apps: Apps, schema_editor: BaseDatabaseSchemaEditor) -> None:
+ Nomination = apps.get_model("api", "Nomination")
+ NominationEntry = apps.get_model("api", "NominationEntry")
+
+ for entry in NominationEntry.objects.all():
+ nomination = Nomination.objects.get(pk=entry.nomination.id)
+ nomination.actor = entry.actor
+ nomination.reason = entry.reason
+ nomination.inserted_at = entry.inserted_at
+
+ nomination.save()
+
+
class Migration(migrations.Migration):
dependencies = [
@@ -43,7 +56,7 @@ class Migration(migrations.Migration):
],
bases=(pydis_site.apps.api.models.mixins.ModelReprMixin, models.Model),
),
- migrations.RunPython(migrate_nominations),
+ migrations.RunPython(migrate_nominations, unmigrate_nominations),
migrations.RemoveField(
model_name='nomination',
name='actor',