25 lines
975 B
SQL
25 lines
975 B
SQL
CREATE TABLE IF NOT EXISTS "CanvasCapabilityTask" (
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
"requestId" varchar(180) NOT NULL UNIQUE,
|
|
"userId" uuid NOT NULL REFERENCES "User"("id") ON DELETE CASCADE,
|
|
"projectId" uuid NOT NULL REFERENCES "CanvasProject"("id") ON DELETE CASCADE,
|
|
"capabilityId" varchar(96) NOT NULL,
|
|
"source" varchar(16) NOT NULL,
|
|
"status" varchar(16) NOT NULL DEFAULT 'pending',
|
|
"version" integer NOT NULL DEFAULT 1,
|
|
"request" jsonb NOT NULL,
|
|
"result" jsonb,
|
|
"error" text,
|
|
"attempts" integer NOT NULL DEFAULT 0,
|
|
"startedAt" timestamp,
|
|
"completedAt" timestamp,
|
|
"createdAt" timestamp NOT NULL DEFAULT now(),
|
|
"updatedAt" timestamp NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS "CanvasCapabilityTask_project_status_idx"
|
|
ON "CanvasCapabilityTask"("projectId", "status", "createdAt");
|
|
|
|
CREATE INDEX IF NOT EXISTS "CanvasCapabilityTask_user_created_idx"
|
|
ON "CanvasCapabilityTask"("userId", "createdAt");
|