123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # Generated by Django 2.1.1 on 2019-02-19 20:47
- from django.db import migrations
- from django.utils import timezone
- from datetime import timedelta
- def forward(apps, schema_editor):
- db_alias = schema_editor.connection.alias
- IPResource = apps.get_model('services', 'IPResource')
- IPResourceState = apps.get_model('services', 'IPResourceState')
- now = timezone.now()
- for ip in IPResource.objects.all():
- if ip.last_check:
- if ip.last_time_up:
- if ip.last_check == ip.last_time_up: # UP
- ip.last_state = IPResourceState.objects.create(ip=ip, date=ip.last_time_up, state=1) # UP
- ip.save()
- else: # DOWN but UP some time before
- ip.last_state = IPResourceState.objects.create(ip=ip, date=ip.last_time_up, state=0) # DOWN
- ip.save()
- else: # Always DOWN
- ip.last_state = IPResourceState.objects.create(ip=ip, date=ip.last_check, state=0) # DOWN
- ip.save()
- else:
- ip.last_state = IPResourceState.objects.create(ip=ip, date=now, state=2) # UNKNOWN
- ip.save()
- def backward(apps, schema_editor):
- db_alias = schema_editor.connection.alias
- IPResource = apps.get_model('services', 'IPResource')
- IPResourceState = apps.get_model('services', 'IPResourceState')
- for ip in IPResource.objects.all():
- if ip.last_state.state != 2:
- ip.last_check = ip.last_state.date
- if ip.last_state.state == 1:
- ip.last_time_up = ip.last_check
- ip.save()
- class Migration(migrations.Migration):
- dependencies = [
- ('services', '0052_auto_20190219_2146'),
- ]
- operations = [
- migrations.RunPython(forward, backward)
- ]
|