Skip to content

Commit d086bd5

Browse files
chore(launchpad): soft delete preprodartifact.analysis_file_id (#94657)
<!-- Describe your PR here. --> <!-- Sentry employees and contractors can delete or ignore the following. --> ### Legal Boilerplate Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.
1 parent 1d2f90b commit d086bd5

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

migrations_lockfile.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ nodestore: 0001_squashed_0002_nodestore_no_dictfield
2121

2222
notifications: 0001_move_notifications_models
2323

24-
preprod: 0008_make_preprod_analysis_file_id_in_size_metrics_table
24+
preprod: 0009_drop_preprod_artifact_analysis_file_id_col
2525

2626
replays: 0006_add_bulk_delete_job
2727

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

src/sentry/preprod/models.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,6 @@ def as_choices(cls):
113113

114114
commit = FlexibleForeignKey("sentry.Commit", null=True, on_delete=models.SET_NULL)
115115

116-
# Size analysis wont necessarily be run on every artifact (based on quotas)
117-
analysis_file_id = BoundedBigIntegerField(db_index=True, null=True)
118-
119116
# Installable file like IPA or APK
120117
installable_app_file_id = BoundedBigIntegerField(db_index=True, null=True)
121118

0 commit comments

Comments
 (0)