summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/migrations/0125_migrate_cached_town.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-10-24 15:05:28 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-10-24 18:20:47 +0200
commitced53a87545352e43c0c2f71103f706d8868aaf7 (patch)
treee163edb8604fa77cf38a589ca6433e249b74e60e /archaeological_warehouse/migrations/0125_migrate_cached_town.py
parent83a91075308b7864a410bb9285d34ec58e6535cb (diff)
downloadIshtar-ced53a87545352e43c0c2f71103f706d8868aaf7.tar.bz2
Ishtar-ced53a87545352e43c0c2f71103f706d8868aaf7.zip
🐛 ✨ person, organization tables: fix and optimize town name and person type list (refs #6441)
Diffstat (limited to 'archaeological_warehouse/migrations/0125_migrate_cached_town.py')
-rw-r--r--archaeological_warehouse/migrations/0125_migrate_cached_town.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/archaeological_warehouse/migrations/0125_migrate_cached_town.py b/archaeological_warehouse/migrations/0125_migrate_cached_town.py
new file mode 100644
index 000000000..49f914185
--- /dev/null
+++ b/archaeological_warehouse/migrations/0125_migrate_cached_town.py
@@ -0,0 +1,29 @@
+# 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")
+ Warehouse = apps.get_model("archaeological_warehouse", "Warehouse")
+ for warehouse in Warehouse.objects.all():
+ Warehouse.objects.filter(pk=warehouse.pk).update(
+ cached_town=_generate_cached_town(Town, warehouse),
+ )
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_warehouse', '0124_warehouse_cached_town'),
+ ]
+
+ operations = [
+ migrations.RunPython(migrate_cached_towns)
+ ]