diff --git a/onadata/apps/logger/migrations/0012_add_instance_history_uuid_and_checksum_idx.py b/onadata/apps/logger/migrations/0012_add_instance_history_uuid_and_checksum_idx.py new file mode 100644 index 0000000000..6a6e6d37a5 --- /dev/null +++ b/onadata/apps/logger/migrations/0012_add_instance_history_uuid_and_checksum_idx.py @@ -0,0 +1,40 @@ +# Generated by Django 3.2.23 on 2024-03-07 06:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + atomic = False + + dependencies = [ + ('logger', '0011_add_xform_id_instance_id_idx'), + ] + + operations = [ + migrations.SeparateDatabaseAndState( + database_operations=[ + migrations.RunSQL( + sql='CREATE INDEX CONCURRENTLY "logger_inst_hist_checksum_05f7bf_idx" ON "logger_instancehistory" ("checksum");', + reverse_sql='DROP INDEX "logger_inst_hist_checksum_05f7bf_idx";', + ), + migrations.RunSQL( + sql='CREATE INDEX CONCURRENTLY "logger_inst_hist_uuid_f5ae42_idx" ON "logger_instancehistory" ("uuid");', + reverse_sql='DROP INDEX "logger_inst_hist_uuid_f5ae42_idx";', + ), + ], + state_operations=[ + migrations.AddIndex( + model_name='instancehistory', + index=models.Index( + fields=['checksum'], name='logger_inst_hist_checksum_05f7bf_idx' + ), + ), + migrations.AddIndex( + model_name='instancehistory', + index=models.Index( + fields=['uuid'], name='logger_inst_hist_uuid_f5ae42_idx' + ), + ), + ], + ) + ] diff --git a/onadata/apps/logger/models/instance.py b/onadata/apps/logger/models/instance.py index c33addd711..dfe6337b55 100644 --- a/onadata/apps/logger/models/instance.py +++ b/onadata/apps/logger/models/instance.py @@ -901,13 +901,13 @@ class Meta: xml = models.TextField() # old instance id - uuid = models.CharField(max_length=249, default="") + uuid = models.CharField(max_length=249, default="", db_index=True) date_created = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) submission_date = models.DateTimeField(null=True, default=None) geom = models.GeometryCollectionField(null=True) - checksum = models.CharField(max_length=64, null=True, blank=True) + checksum = models.CharField(max_length=64, null=True, blank=True, db_index=True) @property def xform(self):