From 9d93d49c2c1cf628f756ff94a3d628c7f12ec749 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Mon, 10 Mar 2025 15:36:48 +0100 Subject: [PATCH] Add OrderSyncQueue migrations --- .../base/migrations/0277_ordersyncqueue.py | 41 +++++++++++++ .../base/migrations/0278_ordersynclink.py | 59 +++++++++++++++++++ .../0279_ordersynclink_timestamp.py | 22 +++++++ 3 files changed, 122 insertions(+) create mode 100644 src/pretix/base/migrations/0277_ordersyncqueue.py create mode 100644 src/pretix/base/migrations/0278_ordersynclink.py create mode 100644 src/pretix/base/migrations/0279_ordersynclink_timestamp.py diff --git a/src/pretix/base/migrations/0277_ordersyncqueue.py b/src/pretix/base/migrations/0277_ordersyncqueue.py new file mode 100644 index 0000000000..a7458836ac --- /dev/null +++ b/src/pretix/base/migrations/0277_ordersyncqueue.py @@ -0,0 +1,41 @@ +# Generated by Django 4.2.16 on 2025-02-28 12:06 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pretixbase", "0276_item_hidden_if_item_available_mode"), + ] + + operations = [ + migrations.CreateModel( + name="OrderSyncQueue", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, primary_key=True, serialize=False + ), + ), + ("sync_provider", models.CharField(max_length=128)), + ("triggered_by", models.CharField(max_length=128)), + ("triggered", models.DateTimeField(auto_now_add=True)), + ("failed_attempts", models.PositiveIntegerField(default=0)), + ("not_before", models.DateTimeField(blank=True, null=True)), + ( + "order", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="queued_sync_jobs", + to="pretixbase.order", + ), + ), + ], + options={ + "unique_together": {("order", "sync_provider")}, + }, + ), + ] diff --git a/src/pretix/base/migrations/0278_ordersynclink.py b/src/pretix/base/migrations/0278_ordersynclink.py new file mode 100644 index 0000000000..3125758aa6 --- /dev/null +++ b/src/pretix/base/migrations/0278_ordersynclink.py @@ -0,0 +1,59 @@ +# Generated by Django 4.2.16 on 2025-03-04 14:12 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pretixbase", "0277_ordersyncqueue"), + ] + + operations = [ + migrations.CreateModel( + name="OrderSyncLink", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, primary_key=True, serialize=False + ), + ), + ("sync_provider", models.CharField(max_length=128)), + ("external_object_type", models.CharField(max_length=128)), + ("external_pk_name", models.CharField(max_length=128)), + ("external_pk_value", models.CharField(max_length=128)), + ("external_link_href", models.CharField(max_length=255, null=True)), + ( + "external_link_display_name", + models.CharField(max_length=255, null=True), + ), + ( + "order", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="synced_objects", + to="pretixbase.order", + ), + ), + ( + "order_position", + models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="synced_objects", + to="pretixbase.orderposition", + ), + ), + ], + options={ + "indexes": [ + models.Index( + fields=["order", "sync_provider"], + name="pretixbase__order_i_23d278_idx", + ) + ], + }, + ), + ] diff --git a/src/pretix/base/migrations/0279_ordersynclink_timestamp.py b/src/pretix/base/migrations/0279_ordersynclink_timestamp.py new file mode 100644 index 0000000000..e2e9095eda --- /dev/null +++ b/src/pretix/base/migrations/0279_ordersynclink_timestamp.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.16 on 2025-03-04 14:37 + +import django.utils.timezone +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pretixbase", "0278_ordersynclink"), + ] + + operations = [ + migrations.AddField( + model_name="ordersynclink", + name="timestamp", + field=models.DateTimeField( + auto_now_add=True, default=django.utils.timezone.now + ), + preserve_default=False, + ), + ]