From 90bf1e2468243f09595d93fabcfb66b5f61a2d81 Mon Sep 17 00:00:00 2001 From: Arpad Borsos Date: Mon, 20 Jan 2025 10:35:45 +0100 Subject: [PATCH] add more undocumented relations --- services/cleanup/relations.py | 12 +++++++++-- ...elations__builds_delete_queries__owner.txt | 21 +++++++++++++++++++ ...ons__builds_delete_queries__repository.txt | 18 ++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/services/cleanup/relations.py b/services/cleanup/relations.py index aa58ad8ab..c64dac4e4 100644 --- a/services/cleanup/relations.py +++ b/services/cleanup/relations.py @@ -4,9 +4,11 @@ from django.db.models import Model, Q from django.db.models.query import QuerySet +from shared.django_apps.bundle_analysis.models import CacheConfig from shared.django_apps.codecov_auth.models import Owner, OwnerProfile from shared.django_apps.core.models import Commit, Pull, Repository from shared.django_apps.reports.models import DailyTestRollup, TestInstance +from shared.django_apps.user_measurements.models import UserMeasurement # Relations referencing 0 through field 1 of model 2: IGNORE_RELATIONS: set[tuple[type[Model], str, type[Model]]] = { @@ -19,10 +21,16 @@ } # Relations which have no proper foreign key: -UNDOCUMENTED_RELATIONS: set[tuple[type[Model], str, type[Model]]] = { +UNDOCUMENTED_RELATIONS: list[tuple[type[Model], str, type[Model]]] = [ (Repository, "repoid", TestInstance), (Repository, "repoid", DailyTestRollup), -} + (Commit, "commit_id", UserMeasurement), + (Owner, "owner_id", UserMeasurement), + (Repository, "repo_id", UserMeasurement), + (Repository, "repo_id", CacheConfig), + # TODO: `UserMeasurement` also has `upload_id`, should we register that as well? + # TODO: should we also include `SimpleMetric` here? +] @dataclasses.dataclass diff --git a/services/cleanup/tests/snapshots/relations__builds_delete_queries__owner.txt b/services/cleanup/tests/snapshots/relations__builds_delete_queries__owner.txt index 1cbb4f8c4..80b867912 100644 --- a/services/cleanup/tests/snapshots/relations__builds_delete_queries__owner.txt +++ b/services/cleanup/tests/snapshots/relations__builds_delete_queries__owner.txt @@ -1,3 +1,12 @@ +-- UserMeasurement +DELETE +FROM "user_measurements" +WHERE "user_measurements"."owner_id" IN + (SELECT U0."ownerid" + FROM "owners" U0 + WHERE U0."ownerid" = %s) + + -- YamlHistory DELETE FROM "yaml_history" @@ -92,6 +101,18 @@ WHERE "reports_dailytestrollups"."repoid" IN WHERE U0."ownerid" = %s)) +-- CacheConfig +DELETE +FROM "bundle_analysis_cacheconfig" +WHERE "bundle_analysis_cacheconfig"."repo_id" IN + (SELECT V0."repoid" + FROM "repos" V0 + WHERE V0."ownerid" IN + (SELECT U0."ownerid" + FROM "owners" U0 + WHERE U0."ownerid" = %s)) + + -- RepositoryToken DELETE FROM "codecov_auth_repositorytoken" diff --git a/services/cleanup/tests/snapshots/relations__builds_delete_queries__repository.txt b/services/cleanup/tests/snapshots/relations__builds_delete_queries__repository.txt index bac493729..ec4d1ab06 100644 --- a/services/cleanup/tests/snapshots/relations__builds_delete_queries__repository.txt +++ b/services/cleanup/tests/snapshots/relations__builds_delete_queries__repository.txt @@ -16,6 +16,24 @@ WHERE "reports_dailytestrollups"."repoid" IN WHERE U0."repoid" = %s) +-- UserMeasurement +DELETE +FROM "user_measurements" +WHERE "user_measurements"."repo_id" IN + (SELECT U0."repoid" + FROM "repos" U0 + WHERE U0."repoid" = %s) + + +-- CacheConfig +DELETE +FROM "bundle_analysis_cacheconfig" +WHERE "bundle_analysis_cacheconfig"."repo_id" IN + (SELECT U0."repoid" + FROM "repos" U0 + WHERE U0."repoid" = %s) + + -- RepositoryToken DELETE FROM "codecov_auth_repositorytoken"