Skip to content

ref(py): Normalize deletions load_defaults imports #89440

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

evanpurkhiser
Copy link
Member

No description provided.

@evanpurkhiser evanpurkhiser requested a review from a team as a code owner April 11, 2025 22:16
@evanpurkhiser evanpurkhiser requested review from a team and removed request for a team April 11, 2025 22:16
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Apr 11, 2025
@evanpurkhiser
Copy link
Member Author

evanpurkhiser commented Apr 11, 2025

easiest to look at how it looks after

def load_defaults(manager: DeletionTaskManager) -> None:
from sentry import models
from sentry.discover import models as discover
from sentry.incidents import models as incidents
from sentry.integrations import models as integrations
from sentry.monitors import models as monitor_models
from sentry.sentry_apps import models as sentry_apps
from sentry.snuba import models as snuba
from sentry.workflow_engine import models as workflow_engine
from . import defaults
from .base import BulkModelDeletionTask
# fmt: off
manager.register(models.Activity, BulkModelDeletionTask)
manager.register(models.ApiApplication, defaults.ApiApplicationDeletionTask)
manager.register(models.ApiGrant, BulkModelDeletionTask)
manager.register(models.ApiKey, BulkModelDeletionTask)
manager.register(models.ApiToken, BulkModelDeletionTask)
manager.register(models.ArtifactBundle, defaults.ArtifactBundleDeletionTask)
manager.register(models.Commit, defaults.CommitDeletionTask)
manager.register(models.CommitAuthor, defaults.CommitAuthorDeletionTask)
manager.register(models.CommitFileChange, BulkModelDeletionTask)
manager.register(models.Deploy, BulkModelDeletionTask)
manager.register(models.Distribution, BulkModelDeletionTask)
manager.register(models.EnvironmentProject, BulkModelDeletionTask)
manager.register(models.Group, defaults.GroupDeletionTask)
manager.register(models.GroupAssignee, BulkModelDeletionTask)
manager.register(models.GroupBookmark, BulkModelDeletionTask)
manager.register(models.GroupCommitResolution, BulkModelDeletionTask)
manager.register(models.GroupEmailThread, BulkModelDeletionTask)
manager.register(models.GroupEnvironment, BulkModelDeletionTask)
manager.register(models.GroupHash, defaults.GroupHashDeletionTask)
manager.register(models.GroupHashMetadata, BulkModelDeletionTask)
manager.register(models.GroupHistory, defaults.GroupHistoryDeletionTask)
manager.register(models.GroupLink, BulkModelDeletionTask)
manager.register(models.GroupMeta, BulkModelDeletionTask)
manager.register(models.GroupRedirect, BulkModelDeletionTask)
manager.register(models.GroupRelease, BulkModelDeletionTask)
manager.register(models.GroupResolution, BulkModelDeletionTask)
manager.register(models.GroupRuleStatus, BulkModelDeletionTask)
manager.register(models.GroupSeen, BulkModelDeletionTask)
manager.register(models.GroupShare, BulkModelDeletionTask)
manager.register(models.GroupSnooze, BulkModelDeletionTask)
manager.register(models.GroupSubscription, BulkModelDeletionTask)
manager.register(models.Organization, defaults.OrganizationDeletionTask)
manager.register(models.OrganizationMember, defaults.OrganizationMemberDeletionTask)
manager.register(models.OrganizationMemberTeam, BulkModelDeletionTask)
manager.register(models.Project, defaults.ProjectDeletionTask)
manager.register(models.ProjectBookmark, BulkModelDeletionTask)
manager.register(models.ProjectKey, BulkModelDeletionTask)
manager.register(models.PullRequest, defaults.PullRequestDeletionTask)
manager.register(models.Release, defaults.ReleaseDeletionTask)
manager.register(models.ReleaseCommit, BulkModelDeletionTask)
manager.register(models.ReleaseEnvironment, BulkModelDeletionTask)
manager.register(models.ReleaseHeadCommit, BulkModelDeletionTask)
manager.register(models.ReleaseProject, BulkModelDeletionTask)
manager.register(models.ReleaseProjectEnvironment, BulkModelDeletionTask)
manager.register(models.Repository, defaults.RepositoryDeletionTask)
manager.register(models.Rule, defaults.RuleDeletionTask)
manager.register(models.RuleFireHistory, defaults.RuleFireHistoryDeletionTask)
manager.register(models.SavedSearch, BulkModelDeletionTask)
manager.register(models.Team, defaults.TeamDeletionTask)
manager.register(models.UserReport, BulkModelDeletionTask)
manager.register(discover.DiscoverSavedQuery, defaults.DiscoverSavedQueryDeletionTask)
manager.register(discover.DiscoverSavedQueryProject, BulkModelDeletionTask)
manager.register(incidents.AlertRule, defaults.AlertRuleDeletionTask)
manager.register(incidents.AlertRuleTrigger, defaults.AlertRuleTriggerDeletionTask)
manager.register(incidents.AlertRuleTriggerAction, defaults.AlertRuleTriggerActionDeletionTask)
manager.register(incidents.Incident, defaults.IncidentDeletionTask)
manager.register(integrations.OrganizationIntegration, defaults.OrganizationIntegrationDeletionTask)
manager.register(integrations.RepositoryProjectPathConfig, defaults.RepositoryProjectPathConfigDeletionTask)
manager.register(monitor_models.Monitor, defaults.MonitorDeletionTask)
manager.register(monitor_models.MonitorEnvironment, defaults.MonitorEnvironmentDeletionTask)
manager.register(sentry_apps.PlatformExternalIssue, defaults.PlatformExternalIssueDeletionTask)
manager.register(sentry_apps.SentryApp, defaults.SentryAppDeletionTask)
manager.register(sentry_apps.SentryAppInstallation, defaults.SentryAppInstallationDeletionTask)
manager.register(sentry_apps.SentryAppInstallationToken, defaults.SentryAppInstallationTokenDeletionTask)
manager.register(sentry_apps.ServiceHook, defaults.ServiceHookDeletionTask)
manager.register(snuba.QuerySubscription, defaults.QuerySubscriptionDeletionTask)
manager.register(workflow_engine.DataSource, defaults.DataSourceDeletionTask)
manager.register(workflow_engine.Detector, defaults.DetectorDeletionTask)
manager.register(workflow_engine.Workflow, defaults.WorkflowDeletionTask)
# fmt: on
_default_manager = None

vs before https://github.com/getsentry/sentry/blob/b96263c3e0f67a5595f4936542caddb623f60c21%5E/src/sentry/deletions/__init__.py#L92-L187

Comment on lines +1 to +10
__all__ = (
"AlertRule",
"AlertRuleActivity",
"AlertRuleTrigger",
"AlertRuleTriggerAction",
"Incident",
)

from .alert_rule import AlertRule, AlertRuleActivity, AlertRuleTrigger, AlertRuleTriggerAction
from .incident import Incident
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why these import changes? Seems a bit unnecessary, especially since these are going away

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just to keep the way deletion models are imported consistent

evanpurkhiser added a commit that referenced this pull request Apr 14, 2025
I know we're trying to just straight remove these, but let's at least be
consistent for now so that mypy understands that these models are
available from this module.

Needed for this simplification
#89440
@evanpurkhiser evanpurkhiser force-pushed the evanpurkhiser/ref-py-normalize-deletions-load-defaults-imports branch from b96263c to 8c2e748 Compare April 14, 2025 15:41
@evanpurkhiser evanpurkhiser enabled auto-merge (squash) April 14, 2025 15:46
@evanpurkhiser evanpurkhiser merged commit 48fc3f4 into master Apr 14, 2025
59 checks passed
@evanpurkhiser evanpurkhiser deleted the evanpurkhiser/ref-py-normalize-deletions-load-defaults-imports branch April 14, 2025 16:01
billyvg pushed a commit that referenced this pull request Apr 14, 2025
I know we're trying to just straight remove these, but let's at least be
consistent for now so that mypy understands that these models are
available from this module.

Needed for this simplification
#89440
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Backend Automatically applied to PRs that change backend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants