summaryrefslogtreecommitdiff
path: root/archaeological_context_records/migrations/0117_identification_m2m.py
blob: 0e91aa3e67663a1755c84c85ddc6f4edf89f2f80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Generated by Django 2.2.24 on 2024-07-08 13:30

from django.db import migrations, models


def m2m_identification_type(apps, __):
    ContextRecord = apps.get_model("archaeological_context_records", "contextrecord")
    for cr in ContextRecord.objects.filter(identification__isnull=False).all():
        cr.identifications.add(cr.identification)


SQL1 = """
UPDATE ishtar_common_importtarget
    SET target='identifications'
WHERE target='identification';
"""

SQL2 = """
UPDATE ishtar_common_formatertype
    SET many_split='&'
WHERE options='archaeological_context_records.models.IdentificationType';
"""


class Migration(migrations.Migration):

    dependencies = [
        ('archaeological_context_records', '0116_recordrelations_import_relationship'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='activitytype',
            options={'ordering': ('order', 'label'), 'verbose_name': 'Activity Type', 'verbose_name_plural': 'Activity Types'},
        ),
        migrations.AddField(
            model_name='contextrecord',
            name='identifications',
            field=models.ManyToManyField(blank=True, related_name='context_records', to='archaeological_context_records.IdentificationType', verbose_name='Identification'),
        ),
        migrations.RunPython(m2m_identification_type),
        migrations.RemoveField(
            model_name='contextrecord',
            name='identification',
        ),
        migrations.RemoveField(
            model_name='historicalcontextrecord',
            name='identification',
        ),
        migrations.RunSQL(SQL1),
        migrations.RunSQL(SQL2),
    ]