From 1f90900505a7001fe24626c569bcf9cefd4c1be5 Mon Sep 17 00:00:00 2001 From: Gagan Date: Tue, 30 Jul 2024 07:32:19 +0530 Subject: [PATCH] fix(models/featureevaluationraw): Add index on crated_at (#4405) --- ...005_featureevaluationraw_created_at_idx.py | 33 +++++++++++++++++++ api/app_analytics/models.py | 8 +++++ 2 files changed, 41 insertions(+) create mode 100644 api/app_analytics/migrations/0005_featureevaluationraw_created_at_idx.py diff --git a/api/app_analytics/migrations/0005_featureevaluationraw_created_at_idx.py b/api/app_analytics/migrations/0005_featureevaluationraw_created_at_idx.py new file mode 100644 index 000000000000..d7eb05c75438 --- /dev/null +++ b/api/app_analytics/migrations/0005_featureevaluationraw_created_at_idx.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.25 on 2024-07-29 10:01 + +from django.db import migrations, models + +from core.migration_helpers import PostgresOnlyRunSQL + + +class Migration(migrations.Migration): + + atomic = False + dependencies = [ + ("app_analytics", "0004_apiusageraw_count"), + ] + + operations = [ + migrations.SeparateDatabaseAndState( + state_operations=[ + migrations.AddIndex( + model_name="featureevaluationraw", + index=models.Index( + fields=["created_at"], + name="f_evaluation_created_at_idx", + ), + ) + ], + database_operations=[ + PostgresOnlyRunSQL( + 'CREATE INDEX CONCURRENTLY IF NOT EXISTS "f_evaluation_created_at_idx" ON "app_analytics_featureevaluationraw" ("created_at");', + reverse_sql='DROP INDEX CONCURRENTLY IF EXISTS "f_evaluation_created_at_idx"', + ) + ], + ) + ] diff --git a/api/app_analytics/models.py b/api/app_analytics/models.py index 716b62dc14e4..45547242e789 100644 --- a/api/app_analytics/models.py +++ b/api/app_analytics/models.py @@ -83,6 +83,14 @@ class FeatureEvaluationRaw(models.Model): identity_identifier = models.CharField(max_length=2000, null=True, default=None) enabled_when_evaluated = models.BooleanField(null=True, default=None) + class Meta: + indexes = [ + models.Index( + fields=["created_at"], + name="f_evaluation_created_at_idx", + ), + ] + class FeatureEvaluationBucket(AbstractBucket): feature_name = models.CharField(max_length=2000)