mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-13 11:59:35 -06:00
Reindex migrations
This commit is contained in:
parent
a34553325e
commit
4f2f61c90d
@ -21,7 +21,7 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('circuits', '0052_extend_circuit_abs_distance_upper_limit'),
|
('circuits', '0052_extend_circuit_abs_distance_upper_limit'),
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
|||||||
@ -14,7 +14,7 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('core', '0019_configrevision_active'),
|
('core', '0019_configrevision_active'),
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
|||||||
@ -1,26 +0,0 @@
|
|||||||
from django.contrib.postgres.operations import CreateCollation
|
|
||||||
from django.db import migrations
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('dcim', '0215_rackreservation_status'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
# Create a case-insensitive collation
|
|
||||||
CreateCollation(
|
|
||||||
'case_insensitive',
|
|
||||||
provider='icu',
|
|
||||||
locale='und-u-ks-level2',
|
|
||||||
deterministic=False,
|
|
||||||
),
|
|
||||||
# Create a case-insensitive collation with natural sorting
|
|
||||||
CreateCollation(
|
|
||||||
'ci_natural_sort',
|
|
||||||
provider='icu',
|
|
||||||
locale='und-u-kn-true-ks-level2',
|
|
||||||
deterministic=False,
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,311 +1,26 @@
|
|||||||
from django.db import migrations, models
|
from django.contrib.postgres.operations import CreateCollation
|
||||||
|
from django.db import migrations
|
||||||
PATTERN_OPS_INDEXES = [
|
|
||||||
'dcim_devicerole_slug_7952643b_like',
|
|
||||||
'dcim_devicetype_slug_448745bd_like',
|
|
||||||
'dcim_inventoryitemrole_name_4c8cfe6d_like',
|
|
||||||
'dcim_inventoryitemrole_slug_3556c227_like',
|
|
||||||
'dcim_location_slug_352c5472_like',
|
|
||||||
'dcim_manufacturer_name_841fcd92_like',
|
|
||||||
'dcim_manufacturer_slug_00430749_like',
|
|
||||||
'dcim_moduletypeprofile_name_1709c36e_like',
|
|
||||||
'dcim_platform_slug_b0908ae4_like',
|
|
||||||
'dcim_rackrole_name_9077cfcc_like',
|
|
||||||
'dcim_rackrole_slug_40bbcd3a_like',
|
|
||||||
'dcim_racktype_slug_6bbb384a_like',
|
|
||||||
'dcim_region_slug_ff078a66_like',
|
|
||||||
'dcim_site_name_8fe66c76_like',
|
|
||||||
'dcim_site_slug_4412c762_like',
|
|
||||||
'dcim_sitegroup_slug_a11d2b04_like',
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def remove_indexes(apps, schema_editor):
|
|
||||||
for idx in PATTERN_OPS_INDEXES:
|
|
||||||
schema_editor.execute(f'DROP INDEX IF EXISTS {idx}')
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0216_poweroutlettemplate_color'),
|
||||||
('extras', '0134_ci_collations'),
|
|
||||||
('ipam', '0083_ci_collations'),
|
|
||||||
('tenancy', '0021_ci_collations'),
|
|
||||||
('virtualization', '0048_populate_mac_addresses'),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.RunPython(
|
# Create a case-insensitive collation
|
||||||
code=remove_indexes,
|
CreateCollation(
|
||||||
reverse_code=migrations.RunPython.noop,
|
'case_insensitive',
|
||||||
),
|
provider='icu',
|
||||||
migrations.RemoveConstraint(
|
locale='und-u-ks-level2',
|
||||||
model_name='device',
|
deterministic=False,
|
||||||
name='dcim_device_unique_name_site_tenant',
|
|
||||||
),
|
|
||||||
migrations.RemoveConstraint(
|
|
||||||
model_name='device',
|
|
||||||
name='dcim_device_unique_name_site',
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='consoleport',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='consoleporttemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='consoleserverport',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='consoleserverporttemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='device',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(blank=True, db_collation='ci_natural_sort', max_length=64, null=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='devicebay',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='devicebaytemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='devicerole',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='devicerole',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='devicetype',
|
|
||||||
name='model',
|
|
||||||
field=models.CharField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='devicetype',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='frontport',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='frontporttemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='interface',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='interfacetemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='inventoryitem',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='inventoryitemrole',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='inventoryitemrole',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='inventoryitemtemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='manufacturer',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='manufacturer',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='modulebay',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='modulebaytemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='moduletype',
|
|
||||||
name='model',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='moduletypeprofile',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='platform',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='platform',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='powerfeed',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='poweroutlet',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='poweroutlettemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='powerpanel',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='powerport',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='powerporttemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='rack',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='rackrole',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='rackrole',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='racktype',
|
|
||||||
name='model',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='racktype',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='rearport',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='rearporttemplate',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='region',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='region',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='site',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='site',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='sitegroup',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='sitegroup',
|
|
||||||
name='slug',
|
|
||||||
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='virtualdevicecontext',
|
|
||||||
name='name',
|
|
||||||
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
|
||||||
),
|
|
||||||
migrations.AddConstraint(
|
|
||||||
model_name='device',
|
|
||||||
constraint=models.UniqueConstraint(
|
|
||||||
models.F('name'), models.F('site'), models.F('tenant'), name='dcim_device_unique_name_site_tenant'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AddConstraint(
|
|
||||||
model_name='device',
|
|
||||||
constraint=models.UniqueConstraint(
|
|
||||||
models.F('name'),
|
|
||||||
models.F('site'),
|
|
||||||
condition=models.Q(('tenant__isnull', True)),
|
|
||||||
name='dcim_device_unique_name_site',
|
|
||||||
violation_error_message='Device name must be unique per site.',
|
|
||||||
),
|
),
|
||||||
|
# Create a case-insensitive collation with natural sorting
|
||||||
|
CreateCollation(
|
||||||
|
'ci_natural_sort',
|
||||||
|
provider='icu',
|
||||||
|
locale='und-u-kn-true-ks-level2',
|
||||||
|
deterministic=False,
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
311
netbox/dcim/migrations/0218_ci_collations.py
Normal file
311
netbox/dcim/migrations/0218_ci_collations.py
Normal file
@ -0,0 +1,311 @@
|
|||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
PATTERN_OPS_INDEXES = [
|
||||||
|
'dcim_devicerole_slug_7952643b_like',
|
||||||
|
'dcim_devicetype_slug_448745bd_like',
|
||||||
|
'dcim_inventoryitemrole_name_4c8cfe6d_like',
|
||||||
|
'dcim_inventoryitemrole_slug_3556c227_like',
|
||||||
|
'dcim_location_slug_352c5472_like',
|
||||||
|
'dcim_manufacturer_name_841fcd92_like',
|
||||||
|
'dcim_manufacturer_slug_00430749_like',
|
||||||
|
'dcim_moduletypeprofile_name_1709c36e_like',
|
||||||
|
'dcim_platform_slug_b0908ae4_like',
|
||||||
|
'dcim_rackrole_name_9077cfcc_like',
|
||||||
|
'dcim_rackrole_slug_40bbcd3a_like',
|
||||||
|
'dcim_racktype_slug_6bbb384a_like',
|
||||||
|
'dcim_region_slug_ff078a66_like',
|
||||||
|
'dcim_site_name_8fe66c76_like',
|
||||||
|
'dcim_site_slug_4412c762_like',
|
||||||
|
'dcim_sitegroup_slug_a11d2b04_like',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def remove_indexes(apps, schema_editor):
|
||||||
|
for idx in PATTERN_OPS_INDEXES:
|
||||||
|
schema_editor.execute(f'DROP INDEX IF EXISTS {idx}')
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
('dcim', '0217_ci_collations'),
|
||||||
|
('extras', '0134_ci_collations'),
|
||||||
|
('ipam', '0083_ci_collations'),
|
||||||
|
('tenancy', '0021_ci_collations'),
|
||||||
|
('virtualization', '0048_populate_mac_addresses'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(
|
||||||
|
code=remove_indexes,
|
||||||
|
reverse_code=migrations.RunPython.noop,
|
||||||
|
),
|
||||||
|
migrations.RemoveConstraint(
|
||||||
|
model_name='device',
|
||||||
|
name='dcim_device_unique_name_site_tenant',
|
||||||
|
),
|
||||||
|
migrations.RemoveConstraint(
|
||||||
|
model_name='device',
|
||||||
|
name='dcim_device_unique_name_site',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='consoleport',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='consoleporttemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='consoleserverport',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='consoleserverporttemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='device',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(blank=True, db_collation='ci_natural_sort', max_length=64, null=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicebay',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicebaytemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicerole',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicerole',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicetype',
|
||||||
|
name='model',
|
||||||
|
field=models.CharField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicetype',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='frontport',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='frontporttemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='interface',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='interfacetemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='inventoryitem',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='inventoryitemrole',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='inventoryitemrole',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='inventoryitemtemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='location',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='location',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='manufacturer',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='manufacturer',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='modulebay',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='modulebaytemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='moduletype',
|
||||||
|
name='model',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='moduletypeprofile',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='platform',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='platform',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='powerfeed',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='poweroutlet',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='poweroutlettemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='powerpanel',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='powerport',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='powerporttemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='rack',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='rackrole',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='rackrole',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='racktype',
|
||||||
|
name='model',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='racktype',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='rearport',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='rearporttemplate',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='region',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='region',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='site',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='site',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100, unique=True),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='sitegroup',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='sitegroup',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(db_collation='case_insensitive', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='virtualdevicecontext',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(db_collation='ci_natural_sort', max_length=64),
|
||||||
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name='device',
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
models.F('name'), models.F('site'), models.F('tenant'), name='dcim_device_unique_name_site_tenant'
|
||||||
|
),
|
||||||
|
),
|
||||||
|
migrations.AddConstraint(
|
||||||
|
model_name='device',
|
||||||
|
constraint=models.UniqueConstraint(
|
||||||
|
models.F('name'),
|
||||||
|
models.F('site'),
|
||||||
|
condition=models.Q(('tenant__isnull', True)),
|
||||||
|
name='dcim_device_unique_name_site',
|
||||||
|
violation_error_message='Device name must be unique per site.',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
@ -26,7 +26,7 @@ def remove_indexes(apps, schema_editor):
|
|||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('extras', '0133_make_cf_minmax_decimal'),
|
('extras', '0133_make_cf_minmax_decimal'),
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
|||||||
@ -24,7 +24,7 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('ipam', '0082_add_prefix_network_containment_indexes'),
|
('ipam', '0082_add_prefix_network_containment_indexes'),
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
|||||||
@ -19,7 +19,7 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('tenancy', '0020_remove_contactgroupmembership'),
|
('tenancy', '0020_remove_contactgroupmembership'),
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
|||||||
@ -22,7 +22,7 @@ def remove_indexes(apps, schema_editor):
|
|||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
('vpn', '0009_remove_redundant_indexes'),
|
('vpn', '0009_remove_redundant_indexes'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ def remove_indexes(apps, schema_editor):
|
|||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('dcim', '0216_ci_collations'),
|
('dcim', '0217_ci_collations'),
|
||||||
('wireless', '0015_extend_wireless_link_abs_distance_upper_limit'),
|
('wireless', '0015_extend_wireless_link_abs_distance_upper_limit'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user