Django 2 migration
This commit is contained in:
		
							parent
							
								
									285ee74560
								
							
						
					
					
						commit
						31d4620adf
					
				|  | @ -39,7 +39,7 @@ class Migration(migrations.Migration): | |||
|                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||||
|                 ('pingable', models.BooleanField(default=False)), | ||||
|                 ('reachable', models.BooleanField(default=False)), | ||||
|                 ('AS', models.ForeignKey(to='bgpdata.AS')), | ||||
|                 ('AS', models.ForeignKey(to='bgpdata.AS', on_delete=models.CASCADE)), | ||||
|             ], | ||||
|             options={ | ||||
|             }, | ||||
|  | @ -73,10 +73,10 @@ class Migration(migrations.Migration): | |||
|             fields=[ | ||||
|                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||||
|                 ('origin', models.CharField(max_length=10, choices=[(b'path', b'BGP Path'), (b'direct', b'Direct Connection')])), | ||||
|                 ('as1', models.ForeignKey(related_name='peering1', to='bgpdata.AS')), | ||||
|                 ('as2', models.ForeignKey(related_name='peering2', to='bgpdata.AS')), | ||||
|                 ('router1', models.ForeignKey(related_name='peering1', default=None, to='bgpdata.BorderRouter', null=True)), | ||||
|                 ('router2', models.ForeignKey(related_name='peering2', default=None, to='bgpdata.BorderRouter', null=True)), | ||||
|                 ('as1', models.ForeignKey(related_name='peering1', to='bgpdata.AS', on_delete=models.CASCADE)), | ||||
|                 ('as2', models.ForeignKey(related_name='peering2', to='bgpdata.AS', on_delete=models.CASCADE)), | ||||
|                 ('router1', models.ForeignKey(related_name='peering1', default=None, to='bgpdata.BorderRouter', null=True, on_delete=models.CASCADE)), | ||||
|                 ('router2', models.ForeignKey(related_name='peering2', default=None, to='bgpdata.BorderRouter', null=True, on_delete=models.CASCADE)), | ||||
|             ], | ||||
|             options={ | ||||
|             }, | ||||
|  | @ -85,13 +85,13 @@ class Migration(migrations.Migration): | |||
|         migrations.AddField( | ||||
|             model_name='as', | ||||
|             name='crawl', | ||||
|             field=models.ForeignKey(to='bgpdata.CrawlRun'), | ||||
|             field=models.ForeignKey(to='bgpdata.CrawlRun', on_delete=models.CASCADE), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|             model_name='announcement', | ||||
|             name='originAS', | ||||
|             field=models.ForeignKey(to='bgpdata.AS'), | ||||
|             field=models.ForeignKey(to='bgpdata.AS', on_delete=models.CASCADE), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|     ] | ||||
|  |  | |||
|  | @ -18,8 +18,8 @@ class Migration(migrations.Migration): | |||
|                 ('logtime', models.DateTimeField(auto_now_add=True)), | ||||
|                 ('severity', models.CharField(max_length=10, choices=[(b'INFO', b'info'), (b'ERROR', b'error'), (b'DEBUG', b'debug'), (b'WARN', b'warning')])), | ||||
|                 ('message', models.TextField()), | ||||
|                 ('crawl', models.ForeignKey(to='bgpdata.CrawlRun')), | ||||
|                 ('host', models.ForeignKey(to='bgpdata.ConfigHost')), | ||||
|                 ('crawl', models.ForeignKey(to='bgpdata.CrawlRun', on_delete=models.CASCADE)), | ||||
|                 ('host', models.ForeignKey(to='bgpdata.ConfigHost', on_delete=models.SET_NULL)), | ||||
|             ], | ||||
|             options={ | ||||
|             }, | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AlterField( | ||||
|             model_name='crawllog', | ||||
|             name='host', | ||||
|             field=models.ForeignKey(to='bgpdata.ConfigHost', null=True), | ||||
|             field=models.ForeignKey(to='bgpdata.ConfigHost', null=True, on_delete=models.SET_NULL), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|     ] | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AlterField( | ||||
|             model_name='crawllog', | ||||
|             name='host', | ||||
|             field=models.ForeignKey(blank=True, to='bgpdata.ConfigHost', null=True), | ||||
|             field=models.ForeignKey(blank=True, to='bgpdata.ConfigHost', null=True, on_delete=models.CASCADE), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|     ] | ||||
|  |  | |||
|  | @ -15,8 +15,8 @@ class Migration(migrations.Migration): | |||
|             name='BorderRouterPair', | ||||
|             fields=[ | ||||
|                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||||
|                 ('router1', models.ForeignKey(related_name='routerpair1', default=None, blank=True, to='bgpdata.BorderRouter', null=True)), | ||||
|                 ('router2', models.ForeignKey(related_name='routerpair2', default=None, blank=True, to='bgpdata.BorderRouter', null=True)), | ||||
|                 ('router1', models.ForeignKey(related_name='routerpair1', default=None, blank=True, to='bgpdata.BorderRouter', null=True, on_delete=models.CASCADE)), | ||||
|                 ('router2', models.ForeignKey(related_name='routerpair2', default=None, blank=True, to='bgpdata.BorderRouter', null=True, on_delete=models.CASCADE)), | ||||
|             ], | ||||
|             options={ | ||||
|             }, | ||||
|  | @ -33,7 +33,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AddField( | ||||
|             model_name='announcement', | ||||
|             name='router', | ||||
|             field=models.ForeignKey(default=None, to='bgpdata.BorderRouter'), | ||||
|             field=models.ForeignKey(default=None, to='bgpdata.BorderRouter', on_delete=models.CASCADE), | ||||
|             preserve_default=False, | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AddField( | ||||
|             model_name='borderrouterpair', | ||||
|             name='peering', | ||||
|             field=models.ForeignKey(default=None, to='bgpdata.Peering'), | ||||
|             field=models.ForeignKey(default=None, to='bgpdata.Peering', on_delete=models.CASCADE), | ||||
|             preserve_default=False, | ||||
|         ), | ||||
|     ] | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AddField( | ||||
|             model_name='as', | ||||
|             name='lastSeen', | ||||
|             field=models.ForeignKey(related_name='as_lastseen', default=None, blank=True, to='bgpdata.CrawlRun', null=True), | ||||
|             field=models.ForeignKey(related_name='as_lastseen', default=None, blank=True, to='bgpdata.CrawlRun', null=True, on_delete=models.SET_NULL), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|         migrations.AddField( | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AddField( | ||||
|             model_name='announcement', | ||||
|             name='crawlAS', | ||||
|             field=models.ForeignKey(related_name='crawl_as', to='bgpdata.AS', null=True), | ||||
|             field=models.ForeignKey(related_name='crawl_as', to='bgpdata.AS', null=True, on_delete=models.CASCADE), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|         migrations.AlterField( | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ class Migration(migrations.Migration): | |||
|         migrations.AlterField( | ||||
|             model_name='announcement', | ||||
|             name='originAS', | ||||
|             field=models.ForeignKey(to='bgpdata.AS', null=True), | ||||
|             field=models.ForeignKey(to='bgpdata.AS', null=True, on_delete=models.CASCADE), | ||||
|             preserve_default=True, | ||||
|         ), | ||||
|     ] | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ class CrawlRun(models.Model): | |||
|     startTime = models.DateTimeField() | ||||
|     endTime = models.DateTimeField(null=True, blank=True) | ||||
| 
 | ||||
|     hostsCrawled = models.ManyToManyField(ConfigHost, null=True, blank=True) | ||||
|     hostsCrawled = models.ManyToManyField(ConfigHost, blank=True) | ||||
|     graph = models.TextField() | ||||
| 
 | ||||
|     asCount = models.IntegerField(default=0) | ||||
|  | @ -65,7 +65,7 @@ class CrawlLog(models.Model): | |||
|         (WARN, 'warning'), | ||||
|     ) | ||||
| 
 | ||||
|     crawl = models.ForeignKey(CrawlRun) | ||||
|     crawl = models.ForeignKey(CrawlRun, on_delete=models.CASCADE) | ||||
|     host = models.ForeignKey(ConfigHost, null=True, blank=True, on_delete=models.SET_NULL) | ||||
|     logtime = models.DateTimeField(auto_now_add=True) | ||||
|     severity = models.CharField(max_length=10, choices=SEVERITY) | ||||
|  | @ -90,12 +90,13 @@ class CrawlLog(models.Model): | |||
| 
 | ||||
| class AS(models.Model): | ||||
|     # asno | ||||
|     crawl = models.ForeignKey(CrawlRun) | ||||
|     crawl = models.ForeignKey(CrawlRun, on_delete=models.CASCADE) | ||||
|     number = models.IntegerField(db_index=True) | ||||
| 
 | ||||
|     directlyCrawled = models.BooleanField(default=False) | ||||
|     online = models.BooleanField(default=True, db_index=True) | ||||
|     lastSeen = models.ForeignKey(CrawlRun, blank=True, null=True, default=None, related_name='as_lastseen') | ||||
|     lastSeen = models.ForeignKey(CrawlRun, blank=True, null=True, default=None, related_name='as_lastseen', | ||||
|                                  on_delete=models.CASCADE) | ||||
| 
 | ||||
|     class Meta: | ||||
|         unique_together = (('crawl', 'number'),) | ||||
|  | @ -126,7 +127,7 @@ class AS(models.Model): | |||
| class BorderRouter(models.Model): | ||||
|     # as id, ip, check method, pingable, reachable | ||||
|     # unique: (crawl_id, asno, as id) | ||||
|     AS = models.ForeignKey(AS) | ||||
|     AS = models.ForeignKey(AS, on_delete=models.CASCADE) | ||||
|     routerID = models.GenericIPAddressField() | ||||
| 
 | ||||
|     pingable = models.BooleanField(default=False) | ||||
|  | @ -139,7 +140,7 @@ class BorderRouter(models.Model): | |||
| 
 | ||||
| 
 | ||||
| class Announcement(models.Model): | ||||
|     router = models.ForeignKey(BorderRouter) | ||||
|     router = models.ForeignKey(BorderRouter, on_delete=models.CASCADE) | ||||
| 
 | ||||
|     ip = models.GenericIPAddressField() | ||||
|     prefix = models.IntegerField() | ||||
|  | @ -147,8 +148,8 @@ class Announcement(models.Model): | |||
|     # NOTE: increase length for longer pathes (currently supports a length of ~85) | ||||
|     ASPath = models.CharField(max_length=512) | ||||
|     nextHop = models.GenericIPAddressField() | ||||
|     originAS = models.ForeignKey(AS, null=True) | ||||
|     crawlAS = models.ForeignKey(AS, related_name='crawl_as', null=True) | ||||
|     originAS = models.ForeignKey(AS, null=True, on_delete=models.CASCADE) | ||||
|     crawlAS = models.ForeignKey(AS, related_name='crawl_as', null=True, on_delete=models.CASCADE) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|         return "%s/%s via %s (crawl %s)" % (self.ip, self.prefix, self.ASPath, self.router.AS.crawl.pk) | ||||
|  | @ -167,8 +168,8 @@ class Peering(models.Model): | |||
|         ('as1', 'as2'), | ||||
|     ) | ||||
| 
 | ||||
|     as1 = models.ForeignKey(AS, related_name='peering1') | ||||
|     as2 = models.ForeignKey(AS, related_name='peering2') | ||||
|     as1 = models.ForeignKey(AS, related_name='peering1', on_delete=models.CASCADE) | ||||
|     as2 = models.ForeignKey(AS, related_name='peering2', on_delete=models.CASCADE) | ||||
|     origin = models.CharField(max_length=10, choices=ORIGIN) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|  | @ -188,9 +189,11 @@ class Peering(models.Model): | |||
| 
 | ||||
| 
 | ||||
| class BorderRouterPair(models.Model): | ||||
|     peering = models.ForeignKey(Peering) | ||||
|     router1 = models.ForeignKey(BorderRouter, default=None, blank=True, null=True, related_name='routerpair1') | ||||
|     router2 = models.ForeignKey(BorderRouter, default=None, blank=True, null=True, related_name='routerpair2') | ||||
|     peering = models.ForeignKey(Peering, on_delete=models.CASCADE) | ||||
|     router1 = models.ForeignKey(BorderRouter, default=None, blank=True, null=True, related_name='routerpair1', | ||||
|                                 on_delete=models.CASCADE) | ||||
|     router2 = models.ForeignKey(BorderRouter, default=None, blank=True, null=True, related_name='routerpair2', | ||||
|                                 on_delete=models.CASCADE) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|         return "%s <--> %s (crawl %d)" % (self.router1, self.router2, self.router1.AS.crawl.pk) | ||||
|  | @ -208,7 +211,7 @@ class ASLastSeen(models.Model): | |||
|     directlyCrawled = models.BooleanField(default=False) | ||||
|     online = models.BooleanField() | ||||
|     lastSeen = models.DateTimeField(blank=True, null=True) | ||||
|     crawlLastSeen = models.ForeignKey(CrawlRun) | ||||
|     crawlLastSeen = models.ForeignKey(CrawlRun, null=True, on_delete=models.SET_NULL) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|         return ("AS{} {}, last seen {} (crawl {})" | ||||
|  | @ -217,4 +220,4 @@ class ASLastSeen(models.Model): | |||
| 
 | ||||
| class ASLastSeenNeighbor(models.Model): | ||||
|     asn = models.IntegerField() | ||||
|     neighbor = models.ForeignKey(ASLastSeen) | ||||
|     neighbor = models.ForeignKey(ASLastSeen, on_delete=models.CASCADE) | ||||
|  |  | |||
|  | @ -47,12 +47,11 @@ INSTALLED_APPS = ( | |||
| 
 | ||||
| API_LIMIT_PER_PAGE = 100 | ||||
| 
 | ||||
| MIDDLEWARE_CLASSES = ( | ||||
| MIDDLEWARE = ( | ||||
|     'django.contrib.sessions.middleware.SessionMiddleware', | ||||
|     'django.middleware.common.CommonMiddleware', | ||||
|     'django.middleware.csrf.CsrfViewMiddleware', | ||||
|     'django.contrib.auth.middleware.AuthenticationMiddleware', | ||||
|     'django.contrib.auth.middleware.SessionAuthenticationMiddleware', | ||||
|     'django.contrib.messages.middleware.MessageMiddleware', | ||||
|     'django.middleware.clickjacking.XFrameOptionsMiddleware', | ||||
| ) | ||||
|  |  | |||
|  | @ -14,5 +14,5 @@ urlpatterns = ( | |||
|     url(r'^$', RedirectView.as_view(url='/map/')), | ||||
|     url(r'^map/', include(bgpdata.urls)), | ||||
| 
 | ||||
|     url(r'^admin/', include(admin.site.urls)), | ||||
|     url(r'^admin/', admin.site.urls), | ||||
| ) | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| django==1.11.25 | ||||
| django<3 | ||||
| django-tastypie | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue