File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed
vulnerabilities/migrations Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ from django .db import migrations
2+ from packageurl import PackageURL
3+
4+ from vulnerabilities .severity_systems import SCORING_SYSTEMS
5+
6+ class Migration (migrations .Migration ):
7+
8+ def remove_advisories (apps , schema_editor ):
9+ Advisory = apps .get_model ("vulnerabilities" , "Advisory" )
10+ deletables = []
11+ for advisory in Advisory .objects .iterator (chunk_size = 1000 ):
12+ print (advisory .pk )
13+ for ref in advisory .references :
14+ if not ref ["url" ]:
15+ deletables .append (advisory .pk )
16+ break
17+ for sev in ref ["severities" ]:
18+ if sev ["system" ] not in SCORING_SYSTEMS :
19+ deletables .append (advisory .pk )
20+ break
21+ Advisory .objects .filter (pk__in = deletables ).delete ()
22+
23+ dependencies = [
24+ ("vulnerabilities" , "0036_alter_package_package_url_and_more" ),
25+ ]
26+
27+ operations = [
28+ migrations .RunPython (remove_advisories , reverse_code = migrations .RunPython .noop ),
29+ ]
You can’t perform that action at this time.
0 commit comments