0038_squashed_0042.py 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. import django.db.models.deletion
  2. import taggit.managers
  3. from django.db import migrations, models
  4. import utilities.json
  5. class Migration(migrations.Migration):
  6. replaces = [
  7. ('circuits', '0038_cabling_cleanup'),
  8. ('circuits', '0039_unique_constraints'),
  9. ('circuits', '0040_provider_remove_deprecated_fields'),
  10. ('circuits', '0041_standardize_description_comments'),
  11. ('circuits', '0042_provideraccount'),
  12. ]
  13. dependencies = [
  14. ('circuits', '0037_new_cabling_models'),
  15. ('dcim', '0160_populate_cable_ends'),
  16. ]
  17. operations = [
  18. migrations.RemoveField(
  19. model_name='circuittermination',
  20. name='_link_peer_id',
  21. ),
  22. migrations.RemoveField(
  23. model_name='circuittermination',
  24. name='_link_peer_type',
  25. ),
  26. migrations.RemoveConstraint(
  27. model_name='providernetwork',
  28. name='circuits_providernetwork_provider_name',
  29. ),
  30. migrations.AlterUniqueTogether(
  31. name='circuit',
  32. unique_together=set(),
  33. ),
  34. migrations.AlterUniqueTogether(
  35. name='circuittermination',
  36. unique_together=set(),
  37. ),
  38. migrations.AlterUniqueTogether(
  39. name='providernetwork',
  40. unique_together=set(),
  41. ),
  42. migrations.AddConstraint(
  43. model_name='circuit',
  44. constraint=models.UniqueConstraint(fields=('provider', 'cid'), name='circuits_circuit_unique_provider_cid'),
  45. ),
  46. migrations.AddConstraint(
  47. model_name='circuittermination',
  48. constraint=models.UniqueConstraint(
  49. fields=('circuit', 'term_side'), name='circuits_circuittermination_unique_circuit_term_side'
  50. ),
  51. ),
  52. migrations.AddConstraint(
  53. model_name='providernetwork',
  54. constraint=models.UniqueConstraint(
  55. fields=('provider', 'name'), name='circuits_providernetwork_unique_provider_name'
  56. ),
  57. ),
  58. migrations.RemoveField(
  59. model_name='provider',
  60. name='admin_contact',
  61. ),
  62. migrations.RemoveField(
  63. model_name='provider',
  64. name='asn',
  65. ),
  66. migrations.RemoveField(
  67. model_name='provider',
  68. name='noc_contact',
  69. ),
  70. migrations.RemoveField(
  71. model_name='provider',
  72. name='portal_url',
  73. ),
  74. migrations.AddField(
  75. model_name='provider',
  76. name='description',
  77. field=models.CharField(blank=True, max_length=200),
  78. ),
  79. migrations.CreateModel(
  80. name='ProviderAccount',
  81. fields=[
  82. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)),
  83. ('created', models.DateTimeField(auto_now_add=True, null=True)),
  84. ('last_updated', models.DateTimeField(auto_now=True, null=True)),
  85. (
  86. 'custom_field_data',
  87. models.JSONField(blank=True, default=dict, encoder=utilities.json.CustomFieldJSONEncoder),
  88. ),
  89. ('description', models.CharField(blank=True, max_length=200)),
  90. ('comments', models.TextField(blank=True)),
  91. ('account', models.CharField(max_length=100)),
  92. ('name', models.CharField(blank=True, max_length=100)),
  93. (
  94. 'provider',
  95. models.ForeignKey(
  96. on_delete=django.db.models.deletion.PROTECT, related_name='accounts', to='circuits.provider'
  97. ),
  98. ),
  99. ('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')),
  100. ],
  101. options={
  102. 'ordering': ('provider', 'account'),
  103. },
  104. ),
  105. migrations.AddConstraint(
  106. model_name='provideraccount',
  107. constraint=models.UniqueConstraint(
  108. condition=models.Q(('name', ''), _negated=True),
  109. fields=('provider', 'name'),
  110. name='circuits_provideraccount_unique_provider_name',
  111. ),
  112. ),
  113. migrations.AddConstraint(
  114. model_name='provideraccount',
  115. constraint=models.UniqueConstraint(
  116. fields=('provider', 'account'), name='circuits_provideraccount_unique_provider_account'
  117. ),
  118. ),
  119. migrations.RemoveField(
  120. model_name='provider',
  121. name='account',
  122. ),
  123. migrations.AddField(
  124. model_name='circuit',
  125. name='provider_account',
  126. field=models.ForeignKey(
  127. blank=True,
  128. null=True,
  129. on_delete=django.db.models.deletion.PROTECT,
  130. related_name='circuits',
  131. to='circuits.provideraccount',
  132. ),
  133. preserve_default=False,
  134. ),
  135. migrations.AlterModelOptions(
  136. name='circuit',
  137. options={'ordering': ['provider', 'provider_account', 'cid']},
  138. ),
  139. migrations.AddConstraint(
  140. model_name='circuit',
  141. constraint=models.UniqueConstraint(
  142. fields=('provider_account', 'cid'), name='circuits_circuit_unique_provideraccount_cid'
  143. ),
  144. ),
  145. ]