11from django .db import migrations , models
22import django .db .models .deletion
3- from django .core .validators import MaxValueValidator , MinValueValidator
4- from vulnerabilities .improver import MAX_CONFIDENCE
3+ from aboutcode .pipeline import LoopProgress
54
65def split_packagerelatedvulnerability (apps , schema_editor ):
76 PackageRelatedVulnerability = apps .get_model ('vulnerabilities' , 'PackageRelatedVulnerability' )
87 FixingPackageRelatedVulnerability = apps .get_model ('vulnerabilities' , 'FixingPackageRelatedVulnerability' )
98 AffectedByPackageRelatedVulnerability = apps .get_model ('vulnerabilities' , 'AffectedByPackageRelatedVulnerability' )
109
11- for prv in PackageRelatedVulnerability .objects .all ():
10+ obsolete_package_relation_query = PackageRelatedVulnerability .objects .all ()
11+ obsolete_package_relation_query_count = obsolete_package_relation_query .count ()
12+ print (f"\n Migrating { obsolete_package_relation_query_count :,d} old package vulnerability relationship." )
13+
14+ progress = LoopProgress (
15+ total_iterations = obsolete_package_relation_query_count ,
16+ progress_step = 1 ,
17+ logger = print ,
18+ )
19+ for prv in progress .iter (obsolete_package_relation_query .iterator (chunk_size = 10000 )):
1220 if prv .fix :
1321 FixingPackageRelatedVulnerability .objects .create (
1422 package = prv .package ,
@@ -29,7 +37,16 @@ def reverse_migration(apps, schema_editor):
2937 AffectedByPackageRelatedVulnerability = apps .get_model ('vulnerabilities' , 'AffectedByPackageRelatedVulnerability' )
3038 PackageRelatedVulnerability = apps .get_model ('vulnerabilities' , 'PackageRelatedVulnerability' )
3139
32- for fpv in FixingPackageRelatedVulnerability .objects .all ():
40+ fixing_package_relation_query = FixingPackageRelatedVulnerability .objects .all ()
41+ fixing_package_relation_query_count = fixing_package_relation_query .count ()
42+ print (f"\n Migrating { fixing_package_relation_query_count :,d} FixingPackage to old relationship." )
43+
44+ progress = LoopProgress (
45+ total_iterations = fixing_package_relation_query_count ,
46+ progress_step = 1 ,
47+ logger = print ,
48+ )
49+ for fpv in progress .iter (fixing_package_relation_query .iterator (chunk_size = 10000 )):
3350 PackageRelatedVulnerability .objects .create (
3451 package = fpv .package ,
3552 vulnerability = fpv .vulnerability ,
@@ -38,7 +55,16 @@ def reverse_migration(apps, schema_editor):
3855 fix = True ,
3956 )
4057
41- for apv in AffectedByPackageRelatedVulnerability .objects .all ():
58+ affected_package_relation_query = AffectedByPackageRelatedVulnerability .objects .all ()
59+ affected_package_relation_query_count = affected_package_relation_query .count ()
60+ print (f"\n Migrating { affected_package_relation_query_count :,d} AffectedPackage to old relationship." )
61+
62+ progress = LoopProgress (
63+ total_iterations = affected_package_relation_query_count ,
64+ progress_step = 1 ,
65+ logger = print ,
66+ )
67+ for apv in progress .iter (affected_package_relation_query .iterator (chunk_size = 10000 )):
4268 PackageRelatedVulnerability .objects .create (
4369 package = apv .package ,
4470 vulnerability = apv .vulnerability ,
0 commit comments