Squash migrations

This commit is contained in:
Jeremy Stretch
2024-01-24 16:00:37 -05:00
parent c0c1c1fc2d
commit 7e3c990c66
176 changed files with 3718 additions and 6314 deletions

View File

@@ -0,0 +1,196 @@
import django.db.models.functions.text
import taggit.managers
from django.db import migrations, models
import utilities.fields
import utilities.ordering
class Migration(migrations.Migration):
replaces = [
('virtualization', '0023_virtualmachine_natural_ordering'),
('virtualization', '0024_cluster_relax_uniqueness'),
('virtualization', '0025_extend_tag_support'),
('virtualization', '0026_vminterface_bridge'),
('virtualization', '0027_standardize_id_fields'),
('virtualization', '0028_vminterface_vrf'),
('virtualization', '0029_created_datetimefield'),
('virtualization', '0030_cluster_status'),
('virtualization', '0031_virtualmachine_site_device'),
('virtualization', '0032_virtualmachine_update_sites'),
('virtualization', '0033_unique_constraints'),
('virtualization', '0034_standardize_description_comments'),
('virtualization', '0035_virtualmachine_interface_count'),
('virtualization', '0036_virtualmachine_config_template')
]
dependencies = [
('dcim', '0003_squashed_0130'),
('extras', '0098_webhook_custom_field_data_webhook_tags'),
('ipam', '0047_squashed_0053'),
('virtualization', '0022_vminterface_parent'),
]
operations = [
migrations.AlterModelOptions(
name='virtualmachine',
options={'ordering': ('_name', 'pk')},
),
migrations.AddField(
model_name='virtualmachine',
name='_name',
field=utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize),
),
migrations.AlterField(
model_name='cluster',
name='name',
field=models.CharField(max_length=100),
),
migrations.AlterUniqueTogether(
name='cluster',
unique_together={('site', 'name'), ('group', 'name')},
),
migrations.AddField(
model_name='clustergroup',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
migrations.AddField(
model_name='clustertype',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
migrations.AddField(
model_name='vminterface',
name='bridge',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='bridge_interfaces', to='virtualization.vminterface'),
),
migrations.AlterField(
model_name='cluster',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='clustergroup',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='clustertype',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='virtualmachine',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='vminterface',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AddField(
model_name='vminterface',
name='vrf',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='vminterfaces', to='ipam.vrf'),
),
migrations.AlterField(
model_name='cluster',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='clustergroup',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='clustertype',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='virtualmachine',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='vminterface',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AddField(
model_name='cluster',
name='status',
field=models.CharField(default='active', max_length=50),
),
migrations.AddField(
model_name='virtualmachine',
name='site',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='dcim.site'),
),
migrations.AddField(
model_name='virtualmachine',
name='device',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='dcim.device'),
),
migrations.AlterField(
model_name='virtualmachine',
name='cluster',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='virtualization.cluster'),
),
migrations.AlterUniqueTogether(
name='cluster',
unique_together=set(),
),
migrations.AlterUniqueTogether(
name='virtualmachine',
unique_together=set(),
),
migrations.AlterUniqueTogether(
name='vminterface',
unique_together=set(),
),
migrations.AddConstraint(
model_name='cluster',
constraint=models.UniqueConstraint(fields=('group', 'name'), name='virtualization_cluster_unique_group_name'),
),
migrations.AddConstraint(
model_name='cluster',
constraint=models.UniqueConstraint(fields=('site', 'name'), name='virtualization_cluster_unique_site_name'),
),
migrations.AddConstraint(
model_name='virtualmachine',
constraint=models.UniqueConstraint(django.db.models.functions.text.Lower('name'), models.F('cluster'), models.F('tenant'), name='virtualization_virtualmachine_unique_name_cluster_tenant'),
),
migrations.AddConstraint(
model_name='virtualmachine',
constraint=models.UniqueConstraint(django.db.models.functions.text.Lower('name'), models.F('cluster'), condition=models.Q(('tenant__isnull', True)), name='virtualization_virtualmachine_unique_name_cluster', violation_error_message='Virtual machine name must be unique per cluster.'),
),
migrations.AddConstraint(
model_name='vminterface',
constraint=models.UniqueConstraint(fields=('virtual_machine', 'name'), name='virtualization_vminterface_unique_virtual_machine_name'),
),
migrations.AddField(
model_name='cluster',
name='description',
field=models.CharField(blank=True, max_length=200),
),
migrations.AddField(
model_name='virtualmachine',
name='description',
field=models.CharField(blank=True, max_length=200),
),
migrations.AddField(
model_name='virtualmachine',
name='interface_count',
field=utilities.fields.CounterCacheField(default=0, editable=False, to_field='virtual_machine', to_model='virtualization.VMInterface'),
),
migrations.AddField(
model_name='virtualmachine',
name='config_template',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='%(class)ss', to='extras.configtemplate'),
),
]

View File

@@ -1,32 +0,0 @@
from django.db import migrations
import utilities.fields
import utilities.ordering
def naturalize_virtualmachines(apps, schema_editor):
VirtualMachine = apps.get_model('virtualization', 'VirtualMachine')
for name in VirtualMachine.objects.values_list('name', flat=True).order_by('name').distinct():
VirtualMachine.objects.filter(name=name).update(_name=utilities.ordering.naturalize(name, max_length=100))
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0022_vminterface_parent'),
]
operations = [
migrations.AlterModelOptions(
name='virtualmachine',
options={'ordering': ('_name', 'pk')},
),
migrations.AddField(
model_name='virtualmachine',
name='_name',
field=utilities.fields.NaturalOrderingField('name', max_length=100, blank=True, naturalize_function=utilities.ordering.naturalize),
),
migrations.RunPython(
code=naturalize_virtualmachines,
reverse_code=migrations.RunPython.noop
),
]

View File

@@ -1,21 +0,0 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dcim', '0136_device_airflow'),
('virtualization', '0023_virtualmachine_natural_ordering'),
]
operations = [
migrations.AlterField(
model_name='cluster',
name='name',
field=models.CharField(max_length=100),
),
migrations.AlterUniqueTogether(
name='cluster',
unique_together={('site', 'name'), ('group', 'name')},
),
]

View File

@@ -1,25 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-21 14:50
from django.db import migrations
import taggit.managers
class Migration(migrations.Migration):
dependencies = [
('extras', '0062_clear_secrets_changelog'),
('virtualization', '0024_cluster_relax_uniqueness'),
]
operations = [
migrations.AddField(
model_name='clustergroup',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
migrations.AddField(
model_name='clustertype',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
]

View File

@@ -1,19 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-21 20:26
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0025_extend_tag_support'),
]
operations = [
migrations.AddField(
model_name='vminterface',
name='bridge',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='bridge_interfaces', to='virtualization.vminterface'),
),
]

View File

@@ -1,37 +0,0 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dcim', '0145_site_remove_deprecated_fields'),
('virtualization', '0026_vminterface_bridge'),
]
operations = [
migrations.AlterField(
model_name='cluster',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='clustergroup',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='clustertype',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='virtualmachine',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='vminterface',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
),
]

View File

@@ -1,20 +0,0 @@
# Generated by Django 3.2.12 on 2022-02-07 14:39
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('ipam', '0056_standardize_id_fields'),
('virtualization', '0027_standardize_id_fields'),
]
operations = [
migrations.AddField(
model_name='vminterface',
name='vrf',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='vminterfaces', to='ipam.vrf'),
),
]

View File

@@ -1,38 +0,0 @@
# Generated by Django 4.0.2 on 2022-02-08 18:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0028_vminterface_vrf'),
]
operations = [
migrations.AlterField(
model_name='cluster',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='clustergroup',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='clustertype',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='virtualmachine',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='vminterface',
name='created',
field=models.DateTimeField(auto_now_add=True, null=True),
),
]

View File

@@ -1,18 +0,0 @@
# Generated by Django 4.0.4 on 2022-05-19 19:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0029_created_datetimefield'),
]
operations = [
migrations.AddField(
model_name='cluster',
name='status',
field=models.CharField(default='active', max_length=50),
),
]

View File

@@ -1,28 +0,0 @@
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dcim', '0153_created_datetimefield'),
('virtualization', '0030_cluster_status'),
]
operations = [
migrations.AddField(
model_name='virtualmachine',
name='site',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='dcim.site'),
),
migrations.AddField(
model_name='virtualmachine',
name='device',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='dcim.device'),
),
migrations.AlterField(
model_name='virtualmachine',
name='cluster',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='virtualization.cluster'),
),
]

View File

@@ -1,27 +0,0 @@
from django.db import migrations
def update_virtualmachines_site(apps, schema_editor):
"""
Automatically set the site for all virtual machines.
"""
VirtualMachine = apps.get_model('virtualization', 'VirtualMachine')
virtual_machines = VirtualMachine.objects.filter(cluster__site__isnull=False)
for vm in virtual_machines:
vm.site = vm.cluster.site
VirtualMachine.objects.bulk_update(virtual_machines, ['site'])
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0031_virtualmachine_site_device'),
]
operations = [
migrations.RunPython(
code=update_virtualmachines_site,
reverse_code=migrations.RunPython.noop
),
]

View File

@@ -1,44 +0,0 @@
from django.db import migrations, models
import django.db.models.functions.text
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0032_virtualmachine_update_sites'),
]
operations = [
migrations.AlterUniqueTogether(
name='cluster',
unique_together=set(),
),
migrations.AlterUniqueTogether(
name='virtualmachine',
unique_together=set(),
),
migrations.AlterUniqueTogether(
name='vminterface',
unique_together=set(),
),
migrations.AddConstraint(
model_name='cluster',
constraint=models.UniqueConstraint(fields=('group', 'name'), name='virtualization_cluster_unique_group_name'),
),
migrations.AddConstraint(
model_name='cluster',
constraint=models.UniqueConstraint(fields=('site', 'name'), name='virtualization_cluster_unique_site_name'),
),
migrations.AddConstraint(
model_name='virtualmachine',
constraint=models.UniqueConstraint(django.db.models.functions.text.Lower('name'), models.F('cluster'), models.F('tenant'), name='virtualization_virtualmachine_unique_name_cluster_tenant'),
),
migrations.AddConstraint(
model_name='virtualmachine',
constraint=models.UniqueConstraint(django.db.models.functions.text.Lower('name'), models.F('cluster'), condition=models.Q(('tenant__isnull', True)), name='virtualization_virtualmachine_unique_name_cluster', violation_error_message='Virtual machine name must be unique per cluster.'),
),
migrations.AddConstraint(
model_name='vminterface',
constraint=models.UniqueConstraint(fields=('virtual_machine', 'name'), name='virtualization_vminterface_unique_virtual_machine_name'),
),
]

View File

@@ -1,23 +0,0 @@
# Generated by Django 4.1.2 on 2022-11-03 18:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0033_unique_constraints'),
]
operations = [
migrations.AddField(
model_name='cluster',
name='description',
field=models.CharField(blank=True, max_length=200),
),
migrations.AddField(
model_name='virtualmachine',
name='description',
field=models.CharField(blank=True, max_length=200),
),
]

View File

@@ -1,31 +0,0 @@
from django.db import migrations
from django.db.models import Count
import utilities.fields
from utilities.counters import update_counts
def populate_virtualmachine_counts(apps, schema_editor):
VirtualMachine = apps.get_model('virtualization', 'VirtualMachine')
update_counts(VirtualMachine, 'interface_count', 'interfaces')
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0034_standardize_description_comments'),
]
operations = [
migrations.AddField(
model_name='virtualmachine',
name='interface_count',
field=utilities.fields.CounterCacheField(
default=0, to_field='virtual_machine', to_model='virtualization.VMInterface'
),
),
migrations.RunPython(
code=populate_virtualmachine_counts,
reverse_code=migrations.RunPython.noop
),
]

View File

@@ -1,20 +0,0 @@
# Generated by Django 4.1.10 on 2023-08-11 17:16
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('extras', '0098_webhook_custom_field_data_webhook_tags'),
('virtualization', '0035_virtualmachine_interface_count'),
]
operations = [
migrations.AddField(
model_name='virtualmachine',
name='config_template',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='%(class)ss', to='extras.configtemplate'),
),
]