feat(schema): add WorkerDeployment.externalId and task_runs_v2.external_deployment_id (#4661)

Migrations only, no code reads them yet. Postgres: nullable non-unique
externalId on WorkerDeployment plus a CONCURRENTLY-built (environmentId,
externalId) index in its own migration file. ClickHouse:
external_deployment_id String DEFAULT '' on task_runs_v2 (plain String,
not LowCardinality - commit SHAs are high-cardinality). Part of task run
version skew protection (TRI-12998).
This commit is contained in:
Oskar Otwinowski
2026-08-19 17:43:50 +02:00
committed by GitHub
parent 23c5619dd1
commit 8fded28fcd
4 changed files with 11 additions and 0 deletions
@@ -0,0 +1,7 @@
-- +goose Up
ALTER TABLE trigger_dev.task_runs_v2
ADD COLUMN IF NOT EXISTS external_deployment_id String DEFAULT '';
-- +goose Down
ALTER TABLE trigger_dev.task_runs_v2
DROP COLUMN IF EXISTS external_deployment_id;
@@ -0,0 +1 @@
ALTER TABLE "public"."WorkerDeployment" ADD COLUMN IF NOT EXISTS "externalId" TEXT;
@@ -0,0 +1 @@
CREATE INDEX CONCURRENTLY IF NOT EXISTS "WorkerDeployment_environmentId_externalId_idx" ON "public"."WorkerDeployment"("environmentId", "externalId");
@@ -2288,6 +2288,7 @@ model WorkerDeployment {
triggeredById String?
triggeredVia String?
commitSHA String?
externalId String?
startedAt DateTime?
installedAt DateTime?
@@ -2316,6 +2317,7 @@ model WorkerDeployment {
@@index([commitSHA])
@@index([environmentId, createdAt])
@@index([environmentId, status, id])
@@index([environmentId, externalId])
}
enum WorkerDeploymentStatus {