Clean up migration

This commit is contained in:
Jeremy Stretch 2024-07-16 09:12:00 -04:00
parent aaa4992280
commit aa8475cdc4

View File

@ -6,18 +6,16 @@ from django.db.backends.postgresql.psycopg_any import NumericRange
import ipam.models.vlans import ipam.models.vlans
def move_min_max(apps, schema_editor): def set_vid_ranges(apps, schema_editor):
"""
Convert the min_vid & max_vid fields to a range in the new vid_ranges ArrayField.
"""
VLANGroup = apps.get_model('ipam', 'VLANGroup') VLANGroup = apps.get_model('ipam', 'VLANGroup')
for group in VLANGroup.objects.all(): for group in VLANGroup.objects.all():
if group.min_vid or group.max_vid:
group.vid_ranges = [ group.vid_ranges = [
NumericRange(group.min_vid, group.max_vid, bounds='[]') NumericRange(group.min_vid, group.max_vid, bounds='[]')
] ]
group._total_vlan_ids = group.max_vid - group.min_vid + 1
group._total_vlan_ids = 0
for vlan_range in group.vid_ranges:
group._total_vlan_ids += int(vlan_range.upper) - int(vlan_range.lower) + 1
group.save() group.save()
@ -43,7 +41,7 @@ class Migration(migrations.Migration):
field=models.PositiveBigIntegerField(default=4094), field=models.PositiveBigIntegerField(default=4094),
), ),
migrations.RunPython( migrations.RunPython(
code=move_min_max, code=set_vid_ranges,
reverse_code=migrations.RunPython.noop reverse_code=migrations.RunPython.noop
), ),
migrations.RemoveField( migrations.RemoveField(