Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion migrations_lockfile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ replays: 0007_organizationmember_replay_access

seer: 0010_drop_legacy_columns

sentry: 1080_backfill_deprecated_dashboard_widget_display_types
sentry: 1081_remove_neglectedrule

social_auth: 0003_social_auth_json_field

Expand Down
54 changes: 54 additions & 0 deletions src/sentry/migrations/1081_remove_neglectedrule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Generated by Django 5.2.12 on 2026-05-05 22:43

import django.db.models.deletion
import sentry.db.models.fields.foreignkey
from django.db import migrations

from sentry.new_migrations.migrations import CheckedMigration
from sentry.new_migrations.monkey.models import SafeDeleteModel
from sentry.new_migrations.monkey.state import DeletionAction


class Migration(CheckedMigration):
# This flag is used to mark that a migration shouldn't be automatically run in production.
# This should only be used for operations where it's safe to run the migration after your
# code has deployed. So this should not be used for most operations that alter the schema
# of a table.
# Here are some things that make sense to mark as post deployment:
# - Large data migrations. Typically we want these to be run manually so that they can be
# monitored and not block the deploy for a long period of time while they run.
# - Adding indexes to large tables. Since this can take a long time, we'd generally prefer to
# run this outside deployments so that we don't block them. Note that while adding an index
# is a schema change, it's completely safe to run the operation after the code has deployed.
# Once deployed, run these manually via: https://develop.sentry.dev/database-migrations/#migration-deployment

is_post_deployment = False

dependencies = [
("sentry", "1080_backfill_deprecated_dashboard_widget_display_types"),
]

operations = [
migrations.AlterField(
model_name="neglectedrule",
name="organization",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.organization",
),
),
migrations.AlterField(
model_name="neglectedrule",
name="rule",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.rule",
),
),
SafeDeleteModel(
name="NeglectedRule",
deletion_action=DeletionAction.MOVE_TO_PENDING,
),
]
12 changes: 0 additions & 12 deletions src/sentry/models/rule.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,15 +183,3 @@ class RuleActivity(Model):
class Meta:
app_label = "sentry"
db_table = "sentry_ruleactivity"


@cell_silo_model
class NeglectedRule(Model):
__relocation_scope__ = RelocationScope.Organization

rule = FlexibleForeignKey("sentry.Rule")
organization = FlexibleForeignKey("sentry.Organization")
disable_date = models.DateTimeField()
opted_out = models.BooleanField(default=False)
sent_initial_email_date = models.DateTimeField(null=True)
sent_final_email_date = models.DateTimeField(null=True)
Loading