Skip to content

Commit 0c15a7a

Browse files
committed
fix deletion
1 parent a53c7ea commit 0c15a7a

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
from sentry.deletions.base import BaseRelation, ModelDeletionTask, ModelRelation
22
from sentry.incidents.models.alert_rule import AlertRule
3+
from sentry.workflow_engine.models.alertrule_detector import AlertRuleDetector
4+
5+
6+
class AlertRuleDetectorDeletionTask(ModelDeletionTask[AlertRuleDetector]):
7+
manager_name = "objects_for_deletion"
38

49

510
class AlertRuleDeletionTask(ModelDeletionTask[AlertRule]):
@@ -10,7 +15,15 @@ class AlertRuleDeletionTask(ModelDeletionTask[AlertRule]):
1015
def get_child_relations(self, instance: AlertRule) -> list[BaseRelation]:
1116
from sentry.incidents.models.alert_rule import AlertRuleTrigger
1217
from sentry.incidents.models.incident import Incident
13-
from sentry.workflow_engine.models import AlertRuleDetector, AlertRuleWorkflow
18+
from sentry.workflow_engine.models import AlertRuleWorkflow
1419

15-
model_list = (AlertRuleTrigger, Incident, AlertRuleDetector, AlertRuleWorkflow)
16-
return [ModelRelation(m, {"alert_rule_id": instance.id}) for m in model_list]
20+
return [
21+
ModelRelation(AlertRuleTrigger, {"alert_rule_id": instance.id}),
22+
ModelRelation(Incident, {"alert_rule_id": instance.id}),
23+
ModelRelation(
24+
AlertRuleDetector,
25+
{"alert_rule_id": instance.id},
26+
task=AlertRuleDetectorDeletionTask,
27+
),
28+
ModelRelation(AlertRuleWorkflow, {"alert_rule_id": instance.id}),
29+
]

src/sentry/deletions/defaults/rule.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from collections.abc import Sequence
33

44
from sentry.deletions.base import BaseRelation, ModelDeletionTask, ModelRelation
5+
from sentry.deletions.defaults.alertrule import AlertRuleDetectorDeletionTask
56
from sentry.models.rule import Rule
67
from sentry.workflow_engine.models import Workflow
78

@@ -19,7 +20,11 @@ def get_child_relations(self, instance: Rule) -> list[BaseRelation]:
1920
ModelRelation(GroupRuleStatus, {"rule_id": instance.id}),
2021
ModelRelation(RuleFireHistory, {"rule_id": instance.id}),
2122
ModelRelation(RuleActivity, {"rule_id": instance.id}),
22-
ModelRelation(AlertRuleDetector, {"rule_id": instance.id}),
23+
ModelRelation(
24+
AlertRuleDetector,
25+
{"rule_id": instance.id},
26+
task=AlertRuleDetectorDeletionTask,
27+
),
2328
]
2429

2530
alert_rule_workflow = AlertRuleWorkflow.objects.filter(rule_id=instance.id).first()

0 commit comments

Comments
 (0)