diff options
author | 2021-02-22 09:36:55 +0200 | |
---|---|---|
committer | 2021-02-22 09:36:55 +0200 | |
commit | 2fb5bf5dbdc6cdfe0a62d54bc7b726eab0199a59 (patch) | |
tree | 72d031a6c35f3578fc2d342d8554c8b16b1e2ad2 | |
parent | Disable 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.py | 15 |
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', |