From 97da5178adc9f8dfc891d7449202a864fbbc5846 Mon Sep 17 00:00:00 2001 From: Tony Xiao Date: Fri, 8 Oct 2021 14:31:01 -0400 Subject: [PATCH] chore(performance): Drop legacy key transactions table (#29074) Follow up to #29015 to drop the table as it is no longer in use. --- migrations_lockfile.txt | 2 +- src/sentry/discover/models.py | 15 -------- .../0236_remove_legacy_key_transactions.py | 35 +++++++++++++++++++ 3 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 src/sentry/migrations/0236_remove_legacy_key_transactions.py diff --git a/migrations_lockfile.txt b/migrations_lockfile.txt index c8a8e9e6107c83..bb8cd816ad5598 100644 --- a/migrations_lockfile.txt +++ b/migrations_lockfile.txt @@ -6,5 +6,5 @@ To resolve this, rebase against latest master and regenerate your migration. Thi will then be regenerated, and you should be able to merge without conflicts. nodestore: 0002_nodestore_no_dictfield -sentry: 0235_add_metricskeyindexer_table +sentry: 0236_remove_legacy_key_transactions social_auth: 0001_initial diff --git a/src/sentry/discover/models.py b/src/sentry/discover/models.py index 6ccb5c72976f93..10436a0af0f592 100644 --- a/src/sentry/discover/models.py +++ b/src/sentry/discover/models.py @@ -65,21 +65,6 @@ def set_projects(self, project_ids): ) -class KeyTransaction(Model): - __include_in_export__ = False - - # max_length here is based on the maximum for transactions in relay - transaction = models.CharField(max_length=200) - project = FlexibleForeignKey("sentry.Project", db_constraint=False) - owner = FlexibleForeignKey("sentry.User", null=True, on_delete=models.SET_NULL) - organization = FlexibleForeignKey("sentry.Organization") - - class Meta: - app_label = "sentry" - db_table = "sentry_discoverkeytransaction" - unique_together = (("project", "owner", "transaction"),) - - class TeamKeyTransaction(Model): __include_in_export__ = False diff --git a/src/sentry/migrations/0236_remove_legacy_key_transactions.py b/src/sentry/migrations/0236_remove_legacy_key_transactions.py new file mode 100644 index 00000000000000..724892841e39a0 --- /dev/null +++ b/src/sentry/migrations/0236_remove_legacy_key_transactions.py @@ -0,0 +1,35 @@ +# Generated by Django 2.2.24 on 2021-10-05 20:38 + +from django.db import migrations + + +class Migration(migrations.Migration): + # This flag is used to mark that a migration shouldn't be automatically run in + # production. We set this to True for operations that we think are risky and want + # someone from ops to run manually and monitor. + # General advice is that if in doubt, mark your migration as `is_dangerous`. + # Some things you should always mark as dangerous: + # - Large data migrations. Typically we want these to be run manually by ops so that + # they can be monitored. Since data migrations will now hold a transaction open + # this is even more important. + # - Adding columns to highly active tables, even ones that are NULL. + is_dangerous = False + + # This flag is used to decide whether to run this migration in a transaction or not. + # By default we prefer to run in a transaction, but for migrations where you want + # to `CREATE INDEX CONCURRENTLY` this needs to be set to False. Typically you'll + # want to create an index concurrently when adding one to an existing table. + # You'll also usually want to set this to `False` if you're writing a data + # migration, since we don't want the entire migration to run in one long-running + # transaction. + atomic = True + + dependencies = [ + ("sentry", "0235_add_metricskeyindexer_table"), + ] + + operations = [ + migrations.DeleteModel( + name="KeyTransaction", + ), + ]