diff --git a/tigapublic/migrations/0004_auto_20240315_1341.py b/tigapublic/migrations/0004_auto_20240315_1341.py index c8bced77c..3189064b6 100644 --- a/tigapublic/migrations/0004_auto_20240315_1341.py +++ b/tigapublic/migrations/0004_auto_20240315_1341.py @@ -3,6 +3,14 @@ from django.db import migrations, models import django.db.models.deletion +def delete_useless_map_aux_reports(apps, schema_editor): + MapAuxReports = apps.get_model("tigapublic", "MapAuxReports") + Report = apps.get_model("tigaserver_app", "Report") + + MapAuxReports.objects.annotate( + report_exists=models.Exists(Report.objects.filter(pk=models.OuterRef('version_uuid'))) + ).filter(report_exists=False).delete() + class Migration(migrations.Migration): @@ -21,8 +29,18 @@ class Migration(migrations.Migration): name='Userfixes', ), migrations.AlterModelOptions( - name='mapauxreports', - options={'managed': False}, + name='stormdrain', + options={'managed': True}, + ), + migrations.AlterModelOptions( + name='stormdrainuserversions', + options={'managed': True}, + ), + migrations.RunPython(delete_useless_map_aux_reports, migrations.RunPython.noop), + migrations.AlterField( + model_name='mapauxreports', + name='version_uuid', + field=models.OneToOneField(db_column='version_uuid', on_delete=django.db.models.deletion.CASCADE, related_name='map_aux_report', to='tigaserver_app.Report'), ), migrations.AlterField( model_name='observationnotifications', diff --git a/tigapublic/models.py b/tigapublic/models.py index 5a1801382..8f0c71506 100644 --- a/tigapublic/models.py +++ b/tigapublic/models.py @@ -111,7 +111,7 @@ class Meta: class MapAuxReports(models.Model): """All mosquito observations.""" - id = models.AutoField(primary_key=True) + id = models.IntegerField(primary_key=True) version_uuid = models.OneToOneField(Report, db_column='version_uuid', related_name='map_aux_report',on_delete=models.CASCADE) user_id = models.CharField(max_length=36, blank=True) observation_date = models.DateTimeField(null=True, blank=True) @@ -145,7 +145,7 @@ class MapAuxReports(models.Model): class Meta: """Meta.""" - managed = False + managed = True db_table = 'map_aux_reports' @@ -177,7 +177,7 @@ class Meta: """Meta.""" db_table = 'storm_drain' - managed = False + managed = True class PredefinedNotificationManager(models.Manager): @@ -267,7 +267,7 @@ class Meta: """Meta.""" db_table = 'tigapublic_storm_drain_user_version' - managed = False + managed = True class Epidemiology(models.Model):