From 6cb871c585f4c061f9d0a9926474244ea17b91a9 Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Wed, 5 Jul 2023 18:27:56 +0200 Subject: [PATCH 1/2] add missing database migrations --- .../migrations/0019_auto_20230705_1619.py | 26 ++++++++++++++++ ...0004_alter_pluginauthtoken_organization.py | 20 +++++++++++++ .../mobile_app/migrations/0009_fcmdevice.py | 30 +++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 engine/apps/alerts/migrations/0019_auto_20230705_1619.py create mode 100644 engine/apps/auth_token/migrations/0004_alter_pluginauthtoken_organization.py create mode 100644 engine/apps/mobile_app/migrations/0009_fcmdevice.py diff --git a/engine/apps/alerts/migrations/0019_auto_20230705_1619.py b/engine/apps/alerts/migrations/0019_auto_20230705_1619.py new file mode 100644 index 00000000..9e7febb5 --- /dev/null +++ b/engine/apps/alerts/migrations/0019_auto_20230705_1619.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.19 on 2023-07-05 16:19 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('user_management', '0011_auto_20230411_1358'), + ('slack', '0003_delete_slackactionrecord'), + ('alerts', '0018_remove_alertreceivechannel_integration_slack_channel_id'), + ] + + operations = [ + migrations.AlterField( + model_name='escalationpolicy', + name='notify_to_group', + field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='escalation_policies', to='slack.slackusergroup'), + ), + migrations.AlterField( + model_name='escalationpolicy', + name='notify_to_users_queue', + field=models.ManyToManyField(related_name='escalation_policy_notify_queues', to='user_management.User'), + ), + ] diff --git a/engine/apps/auth_token/migrations/0004_alter_pluginauthtoken_organization.py b/engine/apps/auth_token/migrations/0004_alter_pluginauthtoken_organization.py new file mode 100644 index 00000000..3b0220b2 --- /dev/null +++ b/engine/apps/auth_token/migrations/0004_alter_pluginauthtoken_organization.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.19 on 2023-07-05 16:19 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('user_management', '0011_auto_20230411_1358'), + ('auth_token', '0003_auto_20221121_1610'), + ] + + operations = [ + migrations.AlterField( + model_name='pluginauthtoken', + name='organization', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='plugin_auth_tokens', to='user_management.organization'), + ), + ] diff --git a/engine/apps/mobile_app/migrations/0009_fcmdevice.py b/engine/apps/mobile_app/migrations/0009_fcmdevice.py new file mode 100644 index 00000000..bb8243a3 --- /dev/null +++ b/engine/apps/mobile_app/migrations/0009_fcmdevice.py @@ -0,0 +1,30 @@ +# Generated by Django 3.2.19 on 2023-07-05 16:19 + +from django.db import migrations, models +import django.db.models.deletion +import django.db.models.manager + + +class Migration(migrations.Migration): + + dependencies = [ + ('fcm_django', '0009_alter_fcmdevice_user'), + ('mobile_app', '0008_mobileappusersettings_locale'), + ] + + operations = [ + migrations.CreateModel( + name='FCMDevice', + fields=[ + ('fcmdevice_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='fcm_django.fcmdevice')), + ], + options={ + 'verbose_name': 'FCM device', + 'abstract': False, + }, + bases=('fcm_django.fcmdevice',), + managers=[ + ('active_objects', django.db.models.manager.Manager()), + ], + ), + ] From ce3996c5fff61a5fd6bbc3d555961d0f1b84bc41 Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Wed, 5 Jul 2023 18:38:38 +0200 Subject: [PATCH 2/2] modify FCMDevice model to be a proxy model so that we dont create a table for it --- engine/apps/mobile_app/migrations/0009_fcmdevice.py | 11 +++++------ engine/apps/mobile_app/models.py | 5 +++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/engine/apps/mobile_app/migrations/0009_fcmdevice.py b/engine/apps/mobile_app/migrations/0009_fcmdevice.py index bb8243a3..4bc2f339 100644 --- a/engine/apps/mobile_app/migrations/0009_fcmdevice.py +++ b/engine/apps/mobile_app/migrations/0009_fcmdevice.py @@ -1,7 +1,6 @@ -# Generated by Django 3.2.19 on 2023-07-05 16:19 +# Generated by Django 3.2.19 on 2023-07-05 16:37 -from django.db import migrations, models -import django.db.models.deletion +from django.db import migrations import django.db.models.manager @@ -16,11 +15,11 @@ class Migration(migrations.Migration): migrations.CreateModel( name='FCMDevice', fields=[ - ('fcmdevice_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='fcm_django.fcmdevice')), ], options={ - 'verbose_name': 'FCM device', - 'abstract': False, + 'proxy': True, + 'indexes': [], + 'constraints': [], }, bases=('fcm_django.fcmdevice',), managers=[ diff --git a/engine/apps/mobile_app/models.py b/engine/apps/mobile_app/models.py index afd4ddab..2e5ec601 100644 --- a/engine/apps/mobile_app/models.py +++ b/engine/apps/mobile_app/models.py @@ -29,6 +29,11 @@ class ActiveFCMDeviceQuerySet(models.QuerySet): class FCMDevice(BaseFCMDevice): active_objects = ActiveFCMDeviceQuerySet.as_manager() + class Meta: + # don't create a table for this model.. + # https://docs.djangoproject.com/en/dev/topics/db/models/#differences-between-proxy-inheritance-and-unmanaged-models + proxy = True + @classmethod def get_active_device_for_user(cls, user: "User") -> FCMDevice | None: return cls.active_objects.filter(user=user).first()