summaryrefslogtreecommitdiff
path: root/ishtar_common/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/migrations')
-rw-r--r--ishtar_common/migrations/0265_cached_town.py53
-rw-r--r--ishtar_common/migrations/0266_migrate_cached_town.py37
2 files changed, 90 insertions, 0 deletions
diff --git a/ishtar_common/migrations/0265_cached_town.py b/ishtar_common/migrations/0265_cached_town.py
new file mode 100644
index 000000000..01f392e78
--- /dev/null
+++ b/ishtar_common/migrations/0265_cached_town.py
@@ -0,0 +1,53 @@
+# Generated by Django 2.2.24 on 2025-10-24 12:39
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ishtar_common', '0264_source_type_add_order'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='historicalorganization',
+ name='cached_town',
+ field=models.TextField(blank=True, default='', verbose_name='Cached town'),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='cached_person_types',
+ field=models.TextField(blank=True, default='', verbose_name='Cached person types'),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='cached_town',
+ field=models.TextField(blank=True, default='', verbose_name='Cached town'),
+ ),
+ migrations.AddField(
+ model_name='organization',
+ name='cached_town',
+ field=models.TextField(blank=True, default='', verbose_name='Cached town'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='cached_person_types',
+ field=models.TextField(blank=True, default='', verbose_name='Cached person types'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='cached_town',
+ field=models.TextField(blank=True, default='', verbose_name='Cached town'),
+ ),
+ migrations.AddField(
+ model_name='historicalperson',
+ name='cached_profiles',
+ field=models.TextField(blank=True, default='', verbose_name='Cached profiles'),
+ ),
+ migrations.AddField(
+ model_name='person',
+ name='cached_profiles',
+ field=models.TextField(blank=True, default='', verbose_name='Cached profiles'),
+ ),
+ ]
diff --git a/ishtar_common/migrations/0266_migrate_cached_town.py b/ishtar_common/migrations/0266_migrate_cached_town.py
new file mode 100644
index 000000000..e5904a5c5
--- /dev/null
+++ b/ishtar_common/migrations/0266_migrate_cached_town.py
@@ -0,0 +1,37 @@
+# Generated by Django 2.2.24 on 2025-10-24 12:59
+
+from django.db import migrations
+
+
+def _generate_cached_town(Town, town):
+ if town.precise_town_id:
+ return Town.objects.get(id=town.precise_town_id).name
+ return town.town or ""
+
+
+def migrate_cached_towns(apps, __):
+ Town = apps.get_model("ishtar_common", "Town")
+ Person = apps.get_model("ishtar_common", "Person")
+ for person in Person.objects.all():
+ Person.objects.filter(pk=person.pk).update(
+ cached_town=_generate_cached_town(Town, person),
+ cached_person_types=", ".join(pt.label for pt in person.person_types.all()),
+ cached_profiles=", ".join(set([p.profile_type.label
+ for p in person.profiles.all()]))
+ )
+ Organization = apps.get_model("ishtar_common", "Organization")
+ for organization in Organization.objects.all():
+ Organization.objects.filter(pk=organization.pk).update(
+ cached_town=_generate_cached_town(Town, organization),
+ )
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ishtar_common', '0265_cached_town'),
+ ]
+
+ operations = [
+ migrations.RunPython(migrate_cached_towns)
+ ]