From 5babdc679db4d549536bbe557716fc9967cd3e9e Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 1 Jul 2024 11:30:18 +0200 Subject: [PATCH] Drop nullability on Order.organizer and OrderPosition.organizer --- ...organizer_alter_orderposition_organizer.py | 54 +++++++++++++++++++ src/pretix/base/models/orders.py | 4 -- 2 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 src/pretix/base/migrations/0269_alter_order_organizer_alter_orderposition_organizer.py diff --git a/src/pretix/base/migrations/0269_alter_order_organizer_alter_orderposition_organizer.py b/src/pretix/base/migrations/0269_alter_order_organizer_alter_orderposition_organizer.py new file mode 100644 index 0000000000..a96ee2de93 --- /dev/null +++ b/src/pretix/base/migrations/0269_alter_order_organizer_alter_orderposition_organizer.py @@ -0,0 +1,54 @@ +# Generated by Django 4.2.8 on 2024-07-01 09:27 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "pretixbase", + "0268_remove_subevent_items_remove_subevent_variations_and_more", + ), + ] + + operations = [ + migrations.RunSQL( + "UPDATE pretixbase_order " + "SET organizer_id = (SELECT e.organizer_id FROM pretixbase_event e WHERE e.id = pretixbase_order.event_id) " + "WHERE pretixbase_order.id IN (SELECT id FROM pretixbase_order o2 WHERE o2.organizer_id IS NULL);" + ), + migrations.RunSQL( + "UPDATE pretixbase_orderposition " + "SET organizer_id = (SELECT e.organizer_id FROM pretixbase_order o LEFT JOIN pretixbase_event e ON e.id = o.event_id WHERE o.id = pretixbase_orderposition.order_id) " + "WHERE pretixbase_orderposition.id IN (SELECT id FROM pretixbase_orderposition op2 WHERE op2.organizer_id IS NULL);" + ), + migrations.AlterField( + model_name="order", + name="organizer", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="orders", + to="pretixbase.organizer", + ), + ), + migrations.AlterField( + model_name="order", + name="organizer", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="orders", + to="pretixbase.organizer", + ), + ), + migrations.AlterField( + model_name="orderposition", + name="organizer", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="order_positions", + to="pretixbase.organizer", + ), + ), + ] diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index ad2bbf27bd..e33821dc4f 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -223,8 +223,6 @@ class Order(LockModel, LoggedModel): "Organizer", related_name="orders", on_delete=models.CASCADE, - null=True, - blank=True, ) event = models.ForeignKey( Event, @@ -2417,8 +2415,6 @@ class OrderPosition(AbstractPosition): "Organizer", related_name="order_positions", on_delete=models.CASCADE, - null=True, - blank=True, ) order = models.ForeignKey( Order,