diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-10-24 15:05:28 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-10-27 12:42:53 +0100 |
| commit | c682a67e79d4a2f47ff97940c377aeb4fcc4ad05 (patch) | |
| tree | 7c17d41ff47d0ec8d3061f42e37d8e0d29d8a8a2 /ishtar_common/migrations | |
| parent | e6fc3223057ff1c79ad15f2f14d66dc195cffacd (diff) | |
| download | Ishtar-c682a67e79d4a2f47ff97940c377aeb4fcc4ad05.tar.bz2 Ishtar-c682a67e79d4a2f47ff97940c377aeb4fcc4ad05.zip | |
🐛 ✨ person, organization tables: fix and optimize town name and person type list (refs #6441)
Diffstat (limited to 'ishtar_common/migrations')
| -rw-r--r-- | ishtar_common/migrations/0265_cached_town.py | 53 | ||||
| -rw-r--r-- | ishtar_common/migrations/0266_migrate_cached_town.py | 37 | ||||
| -rw-r--r-- | ishtar_common/migrations/0267_add_timezone_django_v4.py (renamed from ishtar_common/migrations/0265_add_timezone_django_v4.py) | 2 | ||||
| -rw-r--r-- | ishtar_common/migrations/0268_userrequesttoken_usertoken.py (renamed from ishtar_common/migrations/0266_userrequesttoken_usertoken.py) | 2 | ||||
| -rw-r--r-- | ishtar_common/migrations/0269_gis_importchunk.py (renamed from ishtar_common/migrations/0267_gis_importchunk.py) | 2 | ||||
| -rw-r--r-- | ishtar_common/migrations/0270_gis_import_key_init.py (renamed from ishtar_common/migrations/0268_gis_import_key_init.py) | 2 | ||||
| -rw-r--r-- | ishtar_common/migrations/0271_import_import_immediatly.py (renamed from ishtar_common/migrations/0269_import_import_immediatly.py) | 2 |
7 files changed, 95 insertions, 5 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) + ] diff --git a/ishtar_common/migrations/0265_add_timezone_django_v4.py b/ishtar_common/migrations/0267_add_timezone_django_v4.py index ea4e0c595..0eb973d87 100644 --- a/ishtar_common/migrations/0265_add_timezone_django_v4.py +++ b/ishtar_common/migrations/0267_add_timezone_django_v4.py @@ -10,7 +10,7 @@ import re class Migration(migrations.Migration): dependencies = [ - ('ishtar_common', '0264_source_type_add_order'), + ('ishtar_common', '0266_migrate_cached_town'), ] operations = [ diff --git a/ishtar_common/migrations/0266_userrequesttoken_usertoken.py b/ishtar_common/migrations/0268_userrequesttoken_usertoken.py index 1ff39d163..9c13acc64 100644 --- a/ishtar_common/migrations/0266_userrequesttoken_usertoken.py +++ b/ishtar_common/migrations/0268_userrequesttoken_usertoken.py @@ -10,7 +10,7 @@ class Migration(migrations.Migration): dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('ishtar_common', '0265_add_timezone_django_v4'), + ('ishtar_common', '0267_add_timezone_django_v4'), ] operations = [ diff --git a/ishtar_common/migrations/0267_gis_importchunk.py b/ishtar_common/migrations/0269_gis_importchunk.py index 220577221..995a8642d 100644 --- a/ishtar_common/migrations/0267_gis_importchunk.py +++ b/ishtar_common/migrations/0269_gis_importchunk.py @@ -7,7 +7,7 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('ishtar_common', '0266_userrequesttoken_usertoken'), + ('ishtar_common', '0268_userrequesttoken_usertoken'), ] operations = [ diff --git a/ishtar_common/migrations/0268_gis_import_key_init.py b/ishtar_common/migrations/0270_gis_import_key_init.py index 04909f3ee..ed3d8e568 100644 --- a/ishtar_common/migrations/0268_gis_import_key_init.py +++ b/ishtar_common/migrations/0270_gis_import_key_init.py @@ -16,7 +16,7 @@ def update_importkey(apps, __): class Migration(migrations.Migration): dependencies = [ - ('ishtar_common', '0267_gis_importchunk'), + ('ishtar_common', '0269_gis_importchunk'), ] operations = [ diff --git a/ishtar_common/migrations/0269_import_import_immediatly.py b/ishtar_common/migrations/0271_import_import_immediatly.py index cb063cff1..ff94a566b 100644 --- a/ishtar_common/migrations/0269_import_import_immediatly.py +++ b/ishtar_common/migrations/0271_import_import_immediatly.py @@ -6,7 +6,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('ishtar_common', '0268_gis_import_key_init'), + ('ishtar_common', '0270_gis_import_key_init'), ] operations = [ |
