Coverage for migrations / 0028_migrate_additional_props.py: 0%
22 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-22 07:15 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-22 07:15 +0000
1# Generated by Django 4.2.27 on 2026-01-16 08:14
3import pgtrigger
4from django.db import migrations
7def forward(apps, schema_editor):
8 FormKitSchemaNode = apps.get_model("formkit_ninja", "FormKitSchemaNode")
10 # We use pgtrigger.ignore to bypass protection triggers during this data migration
11 # just in case some nodes are protected.
12 with pgtrigger.ignore("formkit_ninja.FormKitSchemaNode:protect_node_updates"):
13 for node in FormKitSchemaNode.objects.filter(additional_props__isnull=False).iterator():
14 changed = False
15 props = node.additional_props
16 if not isinstance(props, dict):
17 continue
19 if "icon" in props:
20 node.icon = props.pop("icon")
21 changed = True
22 if "title" in props:
23 node.title = props.pop("title")
24 changed = True
26 if changed:
27 node.additional_props = props
28 node.save()
31class Migration(migrations.Migration):
32 dependencies = [
33 ("formkit_ninja", "0027_remove_formkitschemanode_insert_insert_and_more"),
34 ]
36 operations = [
37 migrations.RunPython(forward, migrations.RunPython.noop),
38 ]