Coverage for migrations / 0032_migrate_repeater_props.py: 0%
38 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
3import pgtrigger
4from django.db import migrations
7def forward(apps, schema_editor):
8 FormKitSchemaNode = apps.get_model("formkit_ninja", "FormKitSchemaNode")
10 with pgtrigger.ignore("formkit_ninja.FormKitSchemaNode:protect_node_updates"):
11 for node in FormKitSchemaNode.objects.filter(additional_props__isnull=False).iterator():
12 changed = False
13 props = node.additional_props
14 if not isinstance(props, dict):
15 continue
17 if "step" in props:
18 node.step = str(props.pop("step"))
19 changed = True
21 if "addLabel" in props:
22 node.add_label = props.pop("addLabel")
23 changed = True
25 if "upControl" in props:
26 val = props.pop("upControl")
27 if val is False or val == "false":
28 node.up_control = False
29 changed = True
30 elif val is True or val == "true":
31 node.up_control = True
32 changed = True
34 if "downControl" in props:
35 val = props.pop("downControl")
36 if val is False or val == "false":
37 node.down_control = False
38 changed = True
39 elif val is True or val == "true":
40 node.down_control = True
41 changed = True
43 if changed:
44 node.additional_props = props
45 node.save()
48class Migration(migrations.Migration):
49 dependencies = [
50 ("formkit_ninja", "0031_remove_formkitschemanode_insert_insert_and_more"),
51 ]
53 operations = [
54 migrations.RunPython(forward, migrations.RunPython.noop),
55 ]