From e9a2db1ff8a64794c87104375ed7b2a4a6a6603f Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Mon, 10 Aug 2026 12:26:55 +0100 Subject: [PATCH] perf(database): index EnvironmentVariableValue.valueReferenceId so secret deletes stop seq-scanning --- .../environment-variable-value-reference-id-index.md | 6 ++++++ .../migration.sql | 2 ++ internal-packages/database/prisma/schema.prisma | 1 + 3 files changed, 9 insertions(+) create mode 100644 .server-changes/environment-variable-value-reference-id-index.md create mode 100644 internal-packages/database/prisma/migrations/20260810130000_add_environment_variable_value_reference_id_index/migration.sql diff --git a/.server-changes/environment-variable-value-reference-id-index.md b/.server-changes/environment-variable-value-reference-id-index.md new file mode 100644 index 0000000000..32fee03f17 --- /dev/null +++ b/.server-changes/environment-variable-value-reference-id-index.md @@ -0,0 +1,6 @@ +--- +area: webapp +type: improvement +--- + +Deleting or editing a secret environment variable is now fast and no longer slows down as a project accumulates variables. diff --git a/internal-packages/database/prisma/migrations/20260810130000_add_environment_variable_value_reference_id_index/migration.sql b/internal-packages/database/prisma/migrations/20260810130000_add_environment_variable_value_reference_id_index/migration.sql new file mode 100644 index 0000000000..c69882cbb9 --- /dev/null +++ b/internal-packages/database/prisma/migrations/20260810130000_add_environment_variable_value_reference_id_index/migration.sql @@ -0,0 +1,2 @@ +-- CreateIndex +CREATE INDEX CONCURRENTLY IF NOT EXISTS "EnvironmentVariableValue_valueReferenceId_idx" ON "public"."EnvironmentVariableValue"("valueReferenceId"); diff --git a/internal-packages/database/prisma/schema.prisma b/internal-packages/database/prisma/schema.prisma index 545b025953..8a88b9fc54 100644 --- a/internal-packages/database/prisma/schema.prisma +++ b/internal-packages/database/prisma/schema.prisma @@ -2067,6 +2067,7 @@ model EnvironmentVariableValue { @@unique([variableId, environmentId]) @@index([environmentId]) + @@index([valueReferenceId]) } model Checkpoint {