mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 20:13:46 +00:00 
			
		
		
		
	There is no reason to have an index on just `realm_id` or `remote_id`, as those values mean nothing outside of the scope of a specific `server_id`. Remove those never-used single-column indexes from the two tables that have them. By contrast, the pair of `server_id` and `remote_id` is quite useful and specific -- it is a unique pair, and every POST of statistics from a remote host requires looking up the highest `remote_id` for a given `server_id`, which (without this index) is otherwise a quite large scan. Add a unique constraint, which (in PostgreSQL) is implemented as a unique index.
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Generated by Django 4.2.5 on 2023-09-13 05:02
 | |
| 
 | |
| from django.db import migrations, models
 | |
| 
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
|     dependencies = [
 | |
|         ("zilencer", "0028_rename_extradatajson_remoteauditlog_extra_data"),
 | |
|     ]
 | |
| 
 | |
|     operations = [
 | |
|         migrations.AlterField(
 | |
|             model_name="remoterealmauditlog",
 | |
|             name="realm_id",
 | |
|             field=models.IntegerField(),
 | |
|         ),
 | |
|         migrations.AlterField(
 | |
|             model_name="remoterealmauditlog",
 | |
|             name="remote_id",
 | |
|             field=models.IntegerField(),
 | |
|         ),
 | |
|         migrations.AlterField(
 | |
|             model_name="remoterealmcount",
 | |
|             name="realm_id",
 | |
|             field=models.IntegerField(),
 | |
|         ),
 | |
|         migrations.AlterField(
 | |
|             model_name="remoterealmcount",
 | |
|             name="remote_id",
 | |
|             field=models.IntegerField(),
 | |
|         ),
 | |
|         migrations.AddConstraint(
 | |
|             model_name="remoterealmauditlog",
 | |
|             constraint=models.UniqueConstraint(
 | |
|                 fields=("server", "remote_id"), name="zilencer_remoterealmauditlog_server_remote"
 | |
|             ),
 | |
|         ),
 | |
|         migrations.AddIndex(
 | |
|             model_name="remoterealmauditlog",
 | |
|             index=models.Index(
 | |
|                 fields=["server", "realm_id", "remote_id"],
 | |
|                 name="zilencer_remoterealmauditlog_server_realm_remote",
 | |
|             ),
 | |
|         ),
 | |
|     ]
 |