diff --git a/src/sentry/deletions/__init__.py b/src/sentry/deletions/__init__.py index 450c4da43018ca..2d91818441c101 100644 --- a/src/sentry/deletions/__init__.py +++ b/src/sentry/deletions/__init__.py @@ -54,6 +54,8 @@ def load_defaults(manager: DeletionTaskManager) -> None: manager.register(models.Deploy, BulkModelDeletionTask) manager.register(models.Distribution, BulkModelDeletionTask) manager.register(models.EnvironmentProject, BulkModelDeletionTask) + manager.register(models.File, defaults.FileDeletionTask) + manager.register(models.FileBlobIndex, BulkModelDeletionTask) manager.register(models.Group, defaults.GroupDeletionTask) manager.register(models.GroupAssignee, BulkModelDeletionTask) manager.register(models.GroupBookmark, BulkModelDeletionTask) diff --git a/src/sentry/deletions/defaults/__init__.py b/src/sentry/deletions/defaults/__init__.py index 45696d1a118f95..e60f4dc3e08c19 100644 --- a/src/sentry/deletions/defaults/__init__.py +++ b/src/sentry/deletions/defaults/__init__.py @@ -8,6 +8,7 @@ from .data_source import * # noqa: F401,F403 from .detector import * # noqa: F401,F403 from .discoversavedquery import * # noqa: F401,F403 +from .file import * # noqa: F401,F403 from .group import * # noqa: F401,F403 from .grouphash import * # noqa: F401,F403 from .grouphistory import * # noqa: F401,F403 diff --git a/src/sentry/runner/commands/cleanup.py b/src/sentry/runner/commands/cleanup.py index 7927997af75bd6..b14cb4146f7064 100644 --- a/src/sentry/runner/commands/cleanup.py +++ b/src/sentry/runner/commands/cleanup.py @@ -450,6 +450,7 @@ def exported_data( def models_which_use_deletions_code_path() -> list[tuple[type[Model], str, str]]: from sentry.models.artifactbundle import ArtifactBundle from sentry.models.eventattachment import EventAttachment + from sentry.models.files.file import File from sentry.models.grouprulestatus import GroupRuleStatus from sentry.models.pullrequest import PullRequest from sentry.models.release import Release @@ -468,6 +469,7 @@ def models_which_use_deletions_code_path() -> list[tuple[type[Model], str, str]] (PullRequest, "date_added", "date_added"), (RuleFireHistory, "date_added", "date_added"), (Release, "date_added", "date_added"), + (File, "timestamp", "timestamp"), ] @@ -475,9 +477,11 @@ def remove_cross_project_models( deletes: list[tuple[type[Model], str, str]], ) -> list[tuple[type[Model], str, str]]: from sentry.models.artifactbundle import ArtifactBundle + from sentry.models.files.file import File # These models span across projects, so let's skip them deletes.remove((ArtifactBundle, "date_added", "date_added")) + deletes.remove((File, "timestamp", "timestamp")) return deletes