Skip to content

Commit 60cbb87

Browse files
authored
New TaskRunNumberCounter that uses taskIdentifier + environmentId (#1124)
* Switch to new TaskRunNumberCounter that uses taskIdentifier + environmentId * Drop old TaskRunCounter table (not used anymore) * Revert "Drop old TaskRunCounter table (not used anymore)" This reverts commit d7311a3.
1 parent 1281d40 commit 60cbb87

File tree

3 files changed

+41
-6
lines changed

3 files changed

+41
-6
lines changed

apps/webapp/app/v3/services/triggerTask.server.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,15 @@ export class TriggerTaskService extends BaseService {
100100
})
101101
: undefined;
102102

103-
const counter = await tx.taskRunCounter.upsert({
104-
where: { taskIdentifier: taskId },
103+
const counter = await tx.taskRunNumberCounter.upsert({
104+
where: {
105+
taskIdentifier_environmentId: {
106+
taskIdentifier: taskId,
107+
environmentId: environment.id,
108+
},
109+
},
105110
update: { lastNumber: { increment: 1 } },
106-
create: { taskIdentifier: taskId, lastNumber: 1 },
111+
create: { taskIdentifier: taskId, environmentId: environment.id, lastNumber: 1 },
107112
select: { lastNumber: true },
108113
});
109114

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-- CreateTable
2+
CREATE TABLE "TaskRunNumberCounter" (
3+
"id" TEXT NOT NULL,
4+
"taskIdentifier" TEXT NOT NULL,
5+
"environmentId" TEXT NOT NULL,
6+
"lastNumber" INTEGER NOT NULL DEFAULT 0,
7+
8+
CONSTRAINT "TaskRunNumberCounter_pkey" PRIMARY KEY ("id")
9+
);
10+
11+
-- CreateIndex
12+
CREATE UNIQUE INDEX "TaskRunNumberCounter_taskIdentifier_environmentId_key" ON "TaskRunNumberCounter"("taskIdentifier", "environmentId");
13+
14+
-- AddForeignKey
15+
ALTER TABLE "TaskRunNumberCounter" ADD CONSTRAINT "TaskRunNumberCounter_environmentId_fkey" FOREIGN KEY ("environmentId") REFERENCES "RuntimeEnvironment"("id") ON DELETE CASCADE ON UPDATE CASCADE;

packages/database/prisma/schema.prisma

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -406,9 +406,10 @@ model RuntimeEnvironment {
406406
taskScheduleInstances TaskScheduleInstance[]
407407
alerts ProjectAlert[]
408408
409-
sessions RuntimeEnvironmentSession[]
410-
currentSession RuntimeEnvironmentSession? @relation("currentSession", fields: [currentSessionId], references: [id], onDelete: SetNull, onUpdate: Cascade)
411-
currentSessionId String?
409+
sessions RuntimeEnvironmentSession[]
410+
currentSession RuntimeEnvironmentSession? @relation("currentSession", fields: [currentSessionId], references: [id], onDelete: SetNull, onUpdate: Cascade)
411+
currentSessionId String?
412+
taskRunNumberCounter TaskRunNumberCounter[]
412413
413414
@@unique([projectId, slug, orgMemberId])
414415
@@unique([projectId, shortcode])
@@ -1730,11 +1731,25 @@ model TaskRunDependency {
17301731
updatedAt DateTime @updatedAt
17311732
}
17321733

1734+
/// deprecated, we hadn't included the project id in the unique constraint
17331735
model TaskRunCounter {
17341736
taskIdentifier String @id
17351737
lastNumber Int @default(0)
17361738
}
17371739

1740+
/// Used for the TaskRun number (e.g. #1,421)
1741+
model TaskRunNumberCounter {
1742+
id String @id @default(cuid())
1743+
1744+
taskIdentifier String
1745+
environment RuntimeEnvironment @relation(fields: [environmentId], references: [id], onDelete: Cascade, onUpdate: Cascade)
1746+
environmentId String
1747+
1748+
lastNumber Int @default(0)
1749+
1750+
@@unique([taskIdentifier, environmentId])
1751+
}
1752+
17381753
model TaskTag {
17391754
id String @id @default(cuid())
17401755
name String

0 commit comments

Comments
 (0)