Skip to content

Commit 8e0fb75

Browse files
authored
chore(aci): set DetectorGroup detector to null when it's deleted (#103348)
1 parent c66a6a5 commit 8e0fb75

File tree

3 files changed

+41
-2
lines changed

3 files changed

+41
-2
lines changed

migrations_lockfile.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ tempest: 0001_squashed_0002_make_message_type_nullable
3939

4040
uptime: 0048_delete_uptime_status_columns
4141

42-
workflow_engine: 0097_add_unique_constraint_to_datasource
42+
workflow_engine: 0098_detectorgroup_detector_set_null
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Generated by Django 5.2.1 on 2025-11-13 23:59
2+
3+
import django.db.models.deletion
4+
from django.db import migrations
5+
6+
import sentry.db.models.fields.foreignkey
7+
from sentry.new_migrations.migrations import CheckedMigration
8+
9+
10+
class Migration(CheckedMigration):
11+
# This flag is used to mark that a migration shouldn't be automatically run in production.
12+
# This should only be used for operations where it's safe to run the migration after your
13+
# code has deployed. So this should not be used for most operations that alter the schema
14+
# of a table.
15+
# Here are some things that make sense to mark as post deployment:
16+
# - Large data migrations. Typically we want these to be run manually so that they can be
17+
# monitored and not block the deploy for a long period of time while they run.
18+
# - Adding indexes to large tables. Since this can take a long time, we'd generally prefer to
19+
# run this outside deployments so that we don't block them. Note that while adding an index
20+
# is a schema change, it's completely safe to run the operation after the code has deployed.
21+
# Once deployed, run these manually via: https://develop.sentry.dev/database-migrations/#migration-deployment
22+
23+
is_post_deployment = False
24+
25+
dependencies = [
26+
("workflow_engine", "0097_add_unique_constraint_to_datasource"),
27+
]
28+
29+
operations = [
30+
migrations.AlterField(
31+
model_name="detectorgroup",
32+
name="detector",
33+
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
34+
null=True,
35+
on_delete=django.db.models.deletion.SET_NULL,
36+
to="workflow_engine.detector",
37+
),
38+
),
39+
]

src/sentry/workflow_engine/models/detector_group.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class DetectorGroup(DefaultFieldsModel):
1212

1313
__relocation_scope__ = RelocationScope.Excluded
1414

15-
detector = FlexibleForeignKey("workflow_engine.Detector", on_delete=models.CASCADE)
15+
detector = FlexibleForeignKey("workflow_engine.Detector", null=True, on_delete=models.SET_NULL)
1616
group = FlexibleForeignKey("sentry.Group", on_delete=models.CASCADE)
1717

1818
class Meta:

0 commit comments

Comments
 (0)