From af04b1ecfc22f8c104f6f960c26086c4284e9777 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 20 Jan 2023 11:46:57 +0100 Subject: Warehouse: new slug field to prevent ID change when name is changed --- .../migrations/0115_auto_20230119_1911.py | 49 -------------- .../migrations/0115_auto_20230120_1133.py | 77 ++++++++++++++++++++++ 2 files changed, 77 insertions(+), 49 deletions(-) delete mode 100644 archaeological_warehouse/migrations/0115_auto_20230119_1911.py create mode 100644 archaeological_warehouse/migrations/0115_auto_20230120_1133.py (limited to 'archaeological_warehouse/migrations') diff --git a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py b/archaeological_warehouse/migrations/0115_auto_20230119_1911.py deleted file mode 100644 index cf678f2c2..000000000 --- a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py +++ /dev/null @@ -1,49 +0,0 @@ -# Generated by Django 2.2.24 on 2023-01-19 19:11 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('archaeological_warehouse', '0114_auto_20220707_1633'), - ] - - operations = [ - migrations.AddField( - model_name='historicalwarehouse', - 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='cached_town_label', - field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'), - ), - migrations.AlterField( - model_name='container', - name='geodata', - field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_warehouse_container', to='ishtar_common.GeoVectorData', verbose_name='Geodata'), - ), - migrations.AlterField( - model_name='container', - 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_container', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'), - ), - migrations.AlterField( - model_name='historicalwarehouse', - name='main_geodata', - field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'), - ), - migrations.AlterField( - model_name='warehouse', - name='geodata', - field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_warehouse_warehouse', to='ishtar_common.GeoVectorData', verbose_name='Geodata'), - ), - migrations.AlterField( - model_name='warehouse', - 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'), - ), - ] diff --git a/archaeological_warehouse/migrations/0115_auto_20230120_1133.py b/archaeological_warehouse/migrations/0115_auto_20230120_1133.py new file mode 100644 index 000000000..8462d4bb8 --- /dev/null +++ b/archaeological_warehouse/migrations/0115_auto_20230120_1133.py @@ -0,0 +1,77 @@ +# 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 = [ + ('archaeological_warehouse', '0114_auto_20220707_1633'), + ] + + operations = [ + migrations.AddField( + model_name='historicalwarehouse', + 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='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', + field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_warehouse_container', to='ishtar_common.GeoVectorData', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='container', + 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_container', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='historicalwarehouse', + name='main_geodata', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'), + ), + migrations.AlterField( + model_name='warehouse', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_warehouse_warehouse', to='ishtar_common.GeoVectorData', verbose_name='Geodata'), + ), + migrations.AlterField( + model_name='warehouse', + 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), + ] -- cgit v1.2.3