Browse Source

Add logger message and rename var

release-2.9
Gabriel Detraz 6 years ago
parent
commit
b5c2b4208b
  1. 23
      machines/migrations/0107_fix_lowercase_domain.py

23
machines/migrations/0107_fix_lowercase_domain.py

@ -3,20 +3,25 @@ from __future__ import unicode_literals
from django.db import migrations
from django.core.exceptions import ValidationError
import logging
def fix_duplicate(apps, schema_editor):
logger = logging.getLogger(__name__)
db_alias = schema_editor.connection.alias
domain = apps.get_model("machines", "Domain")
machines_to_fix = list(filter(lambda m : not m.name.islower(), domain.objects.using(db_alias).all()))
for machine in machines_to_fix:
Domain = apps.get_model("machines", "Domain")
domains_to_fix = filter(lambda m : not m.name.islower(), Domain.objects.using(db_alias).all())
for domain in domains_to_fix:
try:
machine.name = machine.name.lower()
machine.validate_unique()
machine.clean()
domain.name = domain.name.lower()
domain.validate_unique()
domain.clean()
except ValidationError:
machine.name = machine.name.lower() + str(machine.interface_parent.id)
machine.clean()
machine.save()
old_name = domain.name
domain.name = domain.name.lower() + str(domain.interface_parent.id)
domain.clean()
warning_message = "Warning : Domain %s has been renamed %s due to dns uniqueness" % (old_name, domain.name)
logger.warning(warning_message)
domain.save()
def unfix_duplicate(apps, schema_editor):
return

Loading…
Cancel
Save