Skip to content

Commit 777f248

Browse files
committed
Add indexes for fast queries
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 35d0776 commit 777f248

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Generated by Django 5.2.11 on 2026-06-05 05:15
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("vulnerabilities", "0135_advisoryv2__all_impacts_unfurled_successfully_and_more"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="advisoryv2",
15+
name="_all_impacts_unfurled",
16+
field=models.BooleanField(
17+
db_index=True,
18+
default=False,
19+
help_text="Indicates whether all impacts for this advisory have been unfurled.",
20+
),
21+
),
22+
migrations.AlterField(
23+
model_name="advisoryv2",
24+
name="_all_impacts_unfurled_successfully",
25+
field=models.BooleanField(
26+
db_index=True,
27+
default=False,
28+
help_text="Indicates whether all impacts for this advisory have been unfurled successfully.",
29+
),
30+
),
31+
migrations.AddIndex(
32+
model_name="advisoryv2",
33+
index=models.Index(
34+
fields=["is_latest", "_all_impacts_unfurled"], name="vulnerabili_is_late_5c48b4_idx"
35+
),
36+
),
37+
migrations.AddIndex(
38+
model_name="impactedpackageaffecting",
39+
index=models.Index(
40+
fields=["package", "impacted_package"], name="vulnerabili_package_22fb39_idx"
41+
),
42+
),
43+
migrations.AddIndex(
44+
model_name="impactedpackageaffecting",
45+
index=models.Index(
46+
fields=["impacted_package", "package"], name="vulnerabili_impacte_1904b9_idx"
47+
),
48+
),
49+
migrations.AddIndex(
50+
model_name="impactedpackagefixedby",
51+
index=models.Index(
52+
fields=["package", "impacted_package"], name="vulnerabili_package_f6588f_idx"
53+
),
54+
),
55+
migrations.AddIndex(
56+
model_name="impactedpackagefixedby",
57+
index=models.Index(
58+
fields=["impacted_package", "package"], name="vulnerabili_impacte_390971_idx"
59+
),
60+
),
61+
]

vulnerabilities/models.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3256,11 +3256,13 @@ class AdvisoryV2(models.Model):
32563256
_all_impacts_unfurled = models.BooleanField(
32573257
default=False,
32583258
help_text="Indicates whether all impacts for this advisory have been unfurled.",
3259+
db_index=True,
32593260
)
32603261

32613262
_all_impacts_unfurled_successfully = models.BooleanField(
32623263
default=False,
32633264
help_text="Indicates whether all impacts for this advisory have been unfurled successfully.",
3265+
db_index=True,
32643266
)
32653267

32663268
objects = AdvisoryV2QuerySet.as_manager()
@@ -3282,6 +3284,9 @@ class Meta:
32823284
fields=["_all_impacts_unfurled", "id"],
32833285
name="advisory_unfurled_idx",
32843286
),
3287+
models.Index(
3288+
fields=["is_latest", "_all_impacts_unfurled"]
3289+
)
32853290
]
32863291

32873292
def save(self, *args, **kwargs):
@@ -3800,6 +3805,10 @@ class ImpactedPackageAffecting(models.Model):
38003805

38013806
class Meta:
38023807
unique_together = ("impacted_package", "package")
3808+
indexes = [
3809+
models.Index(fields=["package", "impacted_package"]),
3810+
models.Index(fields=["impacted_package", "package"]),
3811+
]
38033812

38043813

38053814
class ImpactedPackageFixedBy(models.Model):
@@ -3819,6 +3828,10 @@ class ImpactedPackageFixedBy(models.Model):
38193828

38203829
class Meta:
38213830
unique_together = ("impacted_package", "package")
3831+
indexes = [
3832+
models.Index(fields=["package", "impacted_package"]),
3833+
models.Index(fields=["impacted_package", "package"]),
3834+
]
38223835

38233836

38243837
class AdvisoryExploit(models.Model):

0 commit comments

Comments
 (0)