diff --git a/netbox/virtualization/migrations/0039_convert_disk_size.py b/netbox/virtualization/migrations/0039_convert_disk_size.py deleted file mode 100644 index 5bd6c13de..000000000 --- a/netbox/virtualization/migrations/0039_convert_disk_size.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 5.0.6 on 2024-06-06 17:46 - -from django.db import migrations -from django.db.models import F - - -def convert_disk_size(apps, schema_editor): - VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') - VirtualMachine.objects.filter(disk__isnull=False).update(disk=F('disk') * 1000) - - -class Migration(migrations.Migration): - - dependencies = [ - ('virtualization', '0038_virtualdisk'), - ] - - operations = [ - migrations.RunPython( - code=convert_disk_size, - reverse_code=migrations.RunPython.noop - ), - ] diff --git a/netbox/virtualization/migrations/0040_virtualmachine_serial_number.py b/netbox/virtualization/migrations/0039_virtualmachine_serial_number.py similarity index 74% rename from netbox/virtualization/migrations/0040_virtualmachine_serial_number.py rename to netbox/virtualization/migrations/0039_virtualmachine_serial_number.py index 5ca72d66d..15b58fa22 100644 --- a/netbox/virtualization/migrations/0040_virtualmachine_serial_number.py +++ b/netbox/virtualization/migrations/0039_virtualmachine_serial_number.py @@ -1,12 +1,10 @@ -# Generated by Django 5.0.6 on 2024-06-04 17:09 - from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('virtualization', '0039_convert_disk_size'), + ('virtualization', '0038_virtualdisk'), ] operations = [ diff --git a/netbox/virtualization/migrations/0041_convert_disk_size.py b/netbox/virtualization/migrations/0040_convert_disk_size.py similarity index 65% rename from netbox/virtualization/migrations/0041_convert_disk_size.py rename to netbox/virtualization/migrations/0040_convert_disk_size.py index dd3f4c0ca..6471a0908 100644 --- a/netbox/virtualization/migrations/0041_convert_disk_size.py +++ b/netbox/virtualization/migrations/0040_convert_disk_size.py @@ -1,26 +1,26 @@ -# Generated by Django 5.0.7 on 2024-07-31 05:40 - from django.db import migrations from django.db.models import F, Sum def convert_disk_size(apps, schema_editor): + VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') + VirtualMachine.objects.filter(disk__isnull=False).update(disk=F('disk') * 1000) + VirtualDisk = apps.get_model('virtualization', 'VirtualDisk') VirtualDisk.objects.filter(size__isnull=False).update(size=F('size') * 1000) - # Need to save all Vms to recalc disk size + # Recalculate disk size on all VMs with virtual disks id_list = VirtualDisk.objects.values_list('virtual_machine_id').distinct() - VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') - vms = VirtualMachine.objects.filter(id__in=id_list) - for vm in vms: + virtual_machines = VirtualMachine.objects.filter(id__in=id_list) + for vm in virtual_machines: vm.disk = vm.virtualdisks.aggregate(Sum('size', default=0))['size__sum'] - vm.save() + VirtualMachine.objects.bulk_update(virtual_machines, fields=['disk']) class Migration(migrations.Migration): dependencies = [ - ('virtualization', '0040_virtualmachine_serial_number'), + ('virtualization', '0039_virtualmachine_serial_number'), ] operations = [