Просмотр исходного кода

ref(crons): Remove MonitorCheckIn config column as state operation (#68105)

Step 2 of 3 for removing the config column on the `MonitorCheckIn`
model, removing the column as a state operation.

https://develop.sentry.dev/database-migrations/#deleting-columns

closes: https://github.com/getsentry/team-crons/issues/161
David Wang 11 месяцев назад
Родитель
Сommit
1c64286552

+ 1 - 1
migrations_lockfile.txt

@@ -9,5 +9,5 @@ feedback: 0004_index_together
 hybridcloud: 0015_apitokenreplica_hashed_token_index
 hybridcloud: 0015_apitokenreplica_hashed_token_index
 nodestore: 0002_nodestore_no_dictfield
 nodestore: 0002_nodestore_no_dictfield
 replays: 0004_index_together
 replays: 0004_index_together
-sentry: 0685_alert_rule_conditons_rename_singular
+sentry: 0686_remove_config_from_checkin_state_operation
 social_auth: 0002_default_auto_field
 social_auth: 0002_default_auto_field

+ 35 - 0
src/sentry/migrations/0686_remove_config_from_checkin_state_operation.py

@@ -0,0 +1,35 @@
+# Generated by Django 5.0.3 on 2024-04-02 18:22
+
+from django.db import migrations
+
+from sentry.new_migrations.migrations import CheckedMigration
+
+
+class Migration(CheckedMigration):
+    # This flag is used to mark that a migration shouldn't be automatically run in production. For
+    # the most part, 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 dangerous:
+    # - Large data migrations. Typically we want these to be run manually by ops 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
+    #   have ops run this and not block the deploy. Note that while adding an index is a schema
+    #   change, it's completely safe to run the operation after the code has deployed.
+    is_dangerous = False
+
+    dependencies = [
+        ("sentry", "0685_alert_rule_conditons_rename_singular"),
+    ]
+
+    operations = [
+        migrations.SeparateDatabaseAndState(
+            database_operations=[],
+            state_operations=[
+                migrations.RemoveField(
+                    model_name="monitorcheckin",
+                    name="config",
+                )
+            ],
+        )
+    ]

+ 0 - 1
src/sentry/monitors/models.py

@@ -479,7 +479,6 @@ class MonitorCheckIn(Model):
     """
     """
 
 
     attachment_id = BoundedBigIntegerField(null=True)
     attachment_id = BoundedBigIntegerField(null=True)
-    config = JSONField(default=dict, null=True)
 
 
     objects: ClassVar[BaseManager[Self]] = BaseManager(cache_fields=("guid",))
     objects: ClassVar[BaseManager[Self]] = BaseManager(cache_fields=("guid",))