From 0193e9048b7616f4cf3e1e4666f2affbae1de3c9 Mon Sep 17 00:00:00 2001 From: Dan Fuller Date: Fri, 18 Oct 2024 16:04:18 -0700 Subject: [PATCH] use `nulls_distinct=False` instead --- migrations_lockfile.txt | 2 +- ..._group_key.py => 0010_detector_state_unique_gruop.py} | 9 +++------ src/sentry/workflow_engine/models/detector_state.py | 6 ++---- 3 files changed, 6 insertions(+), 11 deletions(-) rename src/sentry/workflow_engine/migrations/{0010_detector_state_unique_group_key.py => 0010_detector_state_unique_gruop.py} (84%) diff --git a/migrations_lockfile.txt b/migrations_lockfile.txt index 9d8352ae002027..281d6beed10e1e 100644 --- a/migrations_lockfile.txt +++ b/migrations_lockfile.txt @@ -13,4 +13,4 @@ replays: 0004_index_together sentry: 0777_add_related_name_to_dashboard_permissions social_auth: 0002_default_auto_field uptime: 0017_unique_on_timeout -workflow_engine: 0010_detector_state_unique_group_key +workflow_engine: 0010_detector_state_unique_gruop diff --git a/src/sentry/workflow_engine/migrations/0010_detector_state_unique_group_key.py b/src/sentry/workflow_engine/migrations/0010_detector_state_unique_gruop.py similarity index 84% rename from src/sentry/workflow_engine/migrations/0010_detector_state_unique_group_key.py rename to src/sentry/workflow_engine/migrations/0010_detector_state_unique_gruop.py index bdaffa7cec47e4..2e22d6623f7762 100644 --- a/src/sentry/workflow_engine/migrations/0010_detector_state_unique_group_key.py +++ b/src/sentry/workflow_engine/migrations/0010_detector_state_unique_gruop.py @@ -1,6 +1,5 @@ -# Generated by Django 5.1.1 on 2024-10-18 22:51 +# Generated by Django 5.1.1 on 2024-10-18 23:02 -import django.db.models.functions.comparison from django.db import migrations, models from sentry.new_migrations.migrations import CheckedMigration @@ -29,11 +28,9 @@ class Migration(CheckedMigration): migrations.AddConstraint( model_name="detectorstate", constraint=models.UniqueConstraint( - models.F("detector"), - django.db.models.functions.comparison.Coalesce( - "detector_group_key", models.Value("") - ), + fields=("detector", "detector_group_key"), name="detector_state_unique_group_key", + nulls_distinct=False, ), ), ] diff --git a/src/sentry/workflow_engine/models/detector_state.py b/src/sentry/workflow_engine/models/detector_state.py index 42a09cb4b244ff..40a65e2faefc25 100644 --- a/src/sentry/workflow_engine/models/detector_state.py +++ b/src/sentry/workflow_engine/models/detector_state.py @@ -1,8 +1,6 @@ from enum import StrEnum from django.db import models -from django.db.models import F, Value -from django.db.models.functions import Coalesce from sentry.backup.scopes import RelocationScope from sentry.db.models import DefaultFieldsModel, FlexibleForeignKey, region_silo_model @@ -31,8 +29,8 @@ class DetectorState(DefaultFieldsModel): class Meta: constraints = [ models.UniqueConstraint( - F("detector"), - Coalesce("detector_group_key", Value("")), + fields=["detector", "detector_group_key"], + nulls_distinct=False, name="detector_state_unique_group_key", ), ]