summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/migrations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-20 11:46:57 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-20 11:46:57 +0100
commitaf04b1ecfc22f8c104f6f960c26086c4284e9777 (patch)
tree5232bf428003effb1dcad3b23c3d49a976c39894 /archaeological_warehouse/migrations
parent931092752a4db520becea7815e0d1e205b0a921e (diff)
downloadIshtar-af04b1ecfc22f8c104f6f960c26086c4284e9777.tar.bz2
Ishtar-af04b1ecfc22f8c104f6f960c26086c4284e9777.zip
Warehouse: new slug field to prevent ID change when name is changed
Diffstat (limited to 'archaeological_warehouse/migrations')
-rw-r--r--archaeological_warehouse/migrations/0115_auto_20230120_1133.py (renamed from archaeological_warehouse/migrations/0115_auto_20230119_1911.py)30
1 files changed, 29 insertions, 1 deletions
diff --git a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py b/archaeological_warehouse/migrations/0115_auto_20230120_1133.py
index cf678f2c2..8462d4bb8 100644
--- a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py
+++ b/archaeological_warehouse/migrations/0115_auto_20230120_1133.py
@@ -1,9 +1,25 @@
-# Generated by Django 2.2.24 on 2023-01-19 19:11
+# Generated by Django 2.2.24 on 2023-01-20 11:33
from django.db import migrations, models
import django.db.models.deletion
+def copy_external_id_to_slug(apps, schema):
+ Warehouse = apps.get_model("archaeological_warehouse", "Warehouse")
+ for w in Warehouse.objects.all():
+ w.skip_history_when_saving = True
+ w.slug = w.external_id
+ w.save()
+
+
+def update_profile(apps, schema):
+ IshtarSiteProfile = apps.get_model("ishtar_common", "IshtarSiteProfile")
+ for p in IshtarSiteProfile.objects.filter(
+ warehouse_external_id="{name|slug}").all():
+ p.warehouse_external_id = "{slug}"
+ p.save()
+
+
class Migration(migrations.Migration):
dependencies = [
@@ -17,10 +33,20 @@ class Migration(migrations.Migration):
field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'),
),
migrations.AddField(
+ model_name='historicalwarehouse',
+ name='slug',
+ field=models.SlugField(blank=True, default='', max_length=200, verbose_name='Textual ID'),
+ ),
+ migrations.AddField(
model_name='warehouse',
name='cached_town_label',
field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'),
),
+ migrations.AddField(
+ model_name='warehouse',
+ name='slug',
+ field=models.SlugField(blank=True, default='', max_length=200, verbose_name='Textual ID'),
+ ),
migrations.AlterField(
model_name='container',
name='geodata',
@@ -46,4 +72,6 @@ class Migration(migrations.Migration):
name='main_geodata',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_archaeological_warehouse_warehouse', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
),
+ migrations.RunPython(copy_external_id_to_slug),
+ migrations.RunPython(update_profile),
]