1
- # -*- coding: utf-8 -*-
2
- # Generated by Django 1.11.4 on 2017-09-20 22:34
3
- from __future__ import unicode_literals
1
+ # Generated by Django 2.2.4 on 2019-11-04 18:01
4
2
5
3
from django .db import migrations , models
6
4
import django .db .models .deletion
@@ -24,51 +22,49 @@ class Migration(migrations.Migration):
24
22
name = 'Package' ,
25
23
fields = [
26
24
('id' , models .AutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
27
- ('platform' , models .CharField (blank = True , help_text = 'Package platform eg:maven' , max_length = 50 )),
28
- ('name' , models .CharField (blank = True , help_text = 'Package name' , max_length = 50 )),
29
- ('version' , models .CharField (blank = True , help_text = 'Package version' , max_length = 50 )),
25
+ ('type' , models .CharField (blank = True , help_text = 'A short code to identify the type of this package. For example: gem for a Rubygem, docker for a container, pypi for a Python Wheel or Egg, maven for a Maven Jar, deb for a Debian package, etc.' , max_length = 16 , null = True )),
26
+ ('namespace' , models .CharField (blank = True , help_text = 'Package name prefix, such as Maven groupid, Docker image owner, GitHub user or organization, etc.' , max_length = 255 , null = True )),
27
+ ('name' , models .CharField (blank = True , help_text = 'Name of the package.' , max_length = 100 , null = True )),
28
+ ('version' , models .CharField (blank = True , help_text = 'Version of the package.' , max_length = 50 , null = True )),
29
+ ('qualifiers' , models .CharField (blank = True , help_text = 'Extra qualifying data for a package such as the name of an OS, architecture, distro, etc.' , max_length = 1024 , null = True )),
30
+ ('subpath' , models .CharField (blank = True , help_text = 'Extra subpath within a package, relative to the package root.' , max_length = 200 , null = True )),
30
31
],
32
+ options = {
33
+ 'abstract' : False ,
34
+ },
31
35
),
32
36
migrations .CreateModel (
33
- name = 'PackageReference ' ,
37
+ name = 'Vulnerability ' ,
34
38
fields = [
35
39
('id' , models .AutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
36
- ('repository' , models .CharField (blank = True , help_text = 'Repository URL eg:http://central.maven.org' , max_length = 50 )),
37
- ('platform' , models .CharField (blank = True , help_text = 'Platform eg:maven' , max_length = 50 )),
38
- ('name' , models .CharField (blank = True , help_text = 'Package reference name eg:org.apache.commons.io' , max_length = 50 )),
39
- ('version' , models .CharField (blank = True , help_text = 'Reference version' , max_length = 50 )),
40
- ('package' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Package' )),
40
+ ('cve_id' , models .CharField (help_text = 'CVE ID' , max_length = 50 , null = True , unique = True )),
41
+ ('summary' , models .TextField (blank = True , help_text = 'Summary of the vulnerability' )),
42
+ ('cvss' , models .FloatField (help_text = 'CVSS Score' , max_length = 100 , null = True )),
41
43
],
42
44
),
43
45
migrations .CreateModel (
44
46
name = 'ResolvedPackage' ,
45
47
fields = [
46
48
('id' , models .AutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
47
49
('package' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Package' )),
50
+ ('vulnerability' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Vulnerability' )),
48
51
],
49
52
),
50
53
migrations .CreateModel (
51
- name = 'Vulnerability' ,
52
- fields = [
53
- ('id' , models .AutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
54
- ('summary' , models .CharField (blank = True , help_text = 'Summary of the vulnerability' , max_length = 50 )),
55
- ('cvss' , models .FloatField (help_text = 'CVSS Score' , max_length = 50 , null = True )),
56
- ],
57
- ),
58
- migrations .CreateModel (
59
- name = 'VulnerabilityReference' ,
54
+ name = 'PackageReference' ,
60
55
fields = [
61
56
('id' , models .AutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
62
- ('source' , models .CharField (blank = True , help_text = 'Source(s) name eg:NVD' , max_length = 50 )),
63
- ('reference_id' , models .CharField (blank = True , help_text = 'Reference ID, eg:CVE-ID' , max_length = 50 )),
64
- ('url' , models .URLField (blank = True , help_text = 'URL of Vulnerability data' , max_length = 1024 )),
65
- ('vulnerability' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Vulnerability' )),
57
+ ('repository' , models .CharField (blank = True , help_text = 'Repository URL eg:http://central.maven.org' , max_length = 100 )),
58
+ ('platform' , models .CharField (blank = True , help_text = 'Platform eg:maven' , max_length = 50 )),
59
+ ('name' , models .CharField (blank = True , help_text = 'Package reference name eg:org.apache.commons.io' , max_length = 50 )),
60
+ ('version' , models .CharField (blank = True , help_text = 'Reference version' , max_length = 50 )),
61
+ ('package' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Package' )),
66
62
],
67
63
),
68
64
migrations .AddField (
69
- model_name = 'resolvedpackage ' ,
70
- name = 'vulnerability ' ,
71
- field = models .ForeignKey ( on_delete = django . db . models . deletion . CASCADE , to = 'vulnerabilities.Vulnerability' ),
65
+ model_name = 'package ' ,
66
+ name = 'vulnerabilities ' ,
67
+ field = models .ManyToManyField ( through = 'vulnerabilities.ImpactedPackage' , to = 'vulnerabilities.Vulnerability' ),
72
68
),
73
69
migrations .AddField (
74
70
model_name = 'impactedpackage' ,
@@ -80,12 +76,21 @@ class Migration(migrations.Migration):
80
76
name = 'vulnerability' ,
81
77
field = models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Vulnerability' ),
82
78
),
83
- migrations .AlterUniqueTogether (
84
- name = 'vulnerabilityreference' ,
85
- unique_together = set ([('vulnerability' , 'source' , 'reference_id' , 'url' )]),
79
+ migrations .CreateModel (
80
+ name = 'VulnerabilityReference' ,
81
+ fields = [
82
+ ('id' , models .AutoField (auto_created = True , primary_key = True , serialize = False , verbose_name = 'ID' )),
83
+ ('source' , models .CharField (blank = True , help_text = 'Source(s) name eg:NVD' , max_length = 50 )),
84
+ ('reference_id' , models .CharField (blank = True , help_text = 'Reference ID, eg:DSA-4465-1' , max_length = 50 )),
85
+ ('url' , models .URLField (blank = True , help_text = 'URL of Vulnerability data' , max_length = 1024 )),
86
+ ('vulnerability' , models .ForeignKey (on_delete = django .db .models .deletion .CASCADE , to = 'vulnerabilities.Vulnerability' )),
87
+ ],
88
+ options = {
89
+ 'unique_together' : {('vulnerability' , 'source' , 'reference_id' , 'url' )},
90
+ },
86
91
),
87
92
migrations .AlterUniqueTogether (
88
93
name = 'impactedpackage' ,
89
- unique_together = set ([( 'vulnerability' , 'package' )]) ,
94
+ unique_together = {( 'vulnerability' , 'package' )} ,
90
95
),
91
96
]
0 commit comments