# Generated by Django 5.1.4 on 2025-08-13 21:35 import django.contrib.gis.db.models.fields import django.core.validators import django.db.models.deletion import pgtrigger.compiler import pgtrigger.migrations from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ("contenttypes", "0002_remove_content_type_name"), ("pghistory", "0006_delete_aggregateevent"), ] operations = [ migrations.CreateModel( name="Location", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("object_id", models.PositiveIntegerField()), ( "name", models.CharField( help_text="Name of the location (e.g. business name, landmark)", max_length=255, ), ), ( "location_type", models.CharField( help_text="Type of location (e.g. business, landmark, address)", max_length=50, ), ), ( "latitude", models.DecimalField( blank=True, decimal_places=6, help_text="Latitude coordinate (legacy field)", max_digits=9, null=True, validators=[ django.core.validators.MinValueValidator(-90), django.core.validators.MaxValueValidator(90), ], ), ), ( "longitude", models.DecimalField( blank=True, decimal_places=6, help_text="Longitude coordinate (legacy field)", max_digits=9, null=True, validators=[ django.core.validators.MinValueValidator(-180), django.core.validators.MaxValueValidator(180), ], ), ), ( "point", django.contrib.gis.db.models.fields.PointField( blank=True, help_text="Geographic coordinates as a Point", null=True, srid=4326, ), ), ( "street_address", models.CharField(blank=True, max_length=255, null=True), ), ("city", models.CharField(blank=True, max_length=100, null=True)), ( "state", models.CharField( blank=True, help_text="State/Region/Province", max_length=100, null=True, ), ), ("country", models.CharField(blank=True, max_length=100, null=True)), ("postal_code", models.CharField(blank=True, max_length=20, null=True)), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "content_type", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="contenttypes.contenttype", ), ), ], options={ "ordering": ["name"], }, ), migrations.CreateModel( name="LocationEvent", fields=[ ("pgh_id", models.AutoField(primary_key=True, serialize=False)), ("pgh_created_at", models.DateTimeField(auto_now_add=True)), ("pgh_label", models.TextField(help_text="The event label.")), ("id", models.BigIntegerField()), ("object_id", models.PositiveIntegerField()), ( "name", models.CharField( help_text="Name of the location (e.g. business name, landmark)", max_length=255, ), ), ( "location_type", models.CharField( help_text="Type of location (e.g. business, landmark, address)", max_length=50, ), ), ( "latitude", models.DecimalField( blank=True, decimal_places=6, help_text="Latitude coordinate (legacy field)", max_digits=9, null=True, validators=[ django.core.validators.MinValueValidator(-90), django.core.validators.MaxValueValidator(90), ], ), ), ( "longitude", models.DecimalField( blank=True, decimal_places=6, help_text="Longitude coordinate (legacy field)", max_digits=9, null=True, validators=[ django.core.validators.MinValueValidator(-180), django.core.validators.MaxValueValidator(180), ], ), ), ( "point", django.contrib.gis.db.models.fields.PointField( blank=True, help_text="Geographic coordinates as a Point", null=True, srid=4326, ), ), ( "street_address", models.CharField(blank=True, max_length=255, null=True), ), ("city", models.CharField(blank=True, max_length=100, null=True)), ( "state", models.CharField( blank=True, help_text="State/Region/Province", max_length=100, null=True, ), ), ("country", models.CharField(blank=True, max_length=100, null=True)), ("postal_code", models.CharField(blank=True, max_length=20, null=True)), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "content_type", models.ForeignKey( db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", related_query_name="+", to="contenttypes.contenttype", ), ), ( "pgh_context", models.ForeignKey( db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name="+", to="pghistory.context", ), ), ( "pgh_obj", models.ForeignKey( db_constraint=False, on_delete=django.db.models.deletion.DO_NOTHING, related_name="events", to="location.location", ), ), ], options={ "abstract": False, }, ), migrations.AddIndex( model_name="location", index=models.Index( fields=["content_type", "object_id"], name="location_lo_content_9ee1bd_idx", ), ), migrations.AddIndex( model_name="location", index=models.Index(fields=["city"], name="location_lo_city_99f908_idx"), ), migrations.AddIndex( model_name="location", index=models.Index( fields=["country"], name="location_lo_country_b75eba_idx" ), ), pgtrigger.migrations.AddTrigger( model_name="location", trigger=pgtrigger.compiler.Trigger( name="insert_insert", sql=pgtrigger.compiler.UpsertTriggerSql( func='INSERT INTO "location_locationevent" ("city", "content_type_id", "country", "created_at", "id", "latitude", "location_type", "longitude", "name", "object_id", "pgh_context_id", "pgh_created_at", "pgh_label", "pgh_obj_id", "point", "postal_code", "state", "street_address", "updated_at") VALUES (NEW."city", NEW."content_type_id", NEW."country", NEW."created_at", NEW."id", NEW."latitude", NEW."location_type", NEW."longitude", NEW."name", NEW."object_id", _pgh_attach_context(), NOW(), \'insert\', NEW."id", NEW."point", NEW."postal_code", NEW."state", NEW."street_address", NEW."updated_at"); RETURN NULL;', hash="[AWS-SECRET-REMOVED]", operation="INSERT", pgid="pgtrigger_insert_insert_98cd4", table="location_location", when="AFTER", ), ), ), pgtrigger.migrations.AddTrigger( model_name="location", trigger=pgtrigger.compiler.Trigger( name="update_update", sql=pgtrigger.compiler.UpsertTriggerSql( condition="WHEN (OLD.* IS DISTINCT FROM NEW.*)", func='INSERT INTO "location_locationevent" ("city", "content_type_id", "country", "created_at", "id", "latitude", "location_type", "longitude", "name", "object_id", "pgh_context_id", "pgh_created_at", "pgh_label", "pgh_obj_id", "point", "postal_code", "state", "street_address", "updated_at") VALUES (NEW."city", NEW."content_type_id", NEW."country", NEW."created_at", NEW."id", NEW."latitude", NEW."location_type", NEW."longitude", NEW."name", NEW."object_id", _pgh_attach_context(), NOW(), \'update\', NEW."id", NEW."point", NEW."postal_code", NEW."state", NEW."street_address", NEW."updated_at"); RETURN NULL;', hash="[AWS-SECRET-REMOVED]", operation="UPDATE", pgid="pgtrigger_update_update_471d2", table="location_location", when="AFTER", ), ), ), ]