41 lines
1.7 KiB
SQL
41 lines
1.7 KiB
SQL
ALTER TABLE "AiModel"
|
|
ADD COLUMN IF NOT EXISTS "healthStatus" varchar DEFAULT 'healthy' NOT NULL,
|
|
ADD COLUMN IF NOT EXISTS "healthConsecutiveFailures" integer DEFAULT 0 NOT NULL,
|
|
ADD COLUMN IF NOT EXISTS "healthLastEventType" varchar(32),
|
|
ADD COLUMN IF NOT EXISTS "healthLastError" text,
|
|
ADD COLUMN IF NOT EXISTS "healthLastFailureAt" timestamp,
|
|
ADD COLUMN IF NOT EXISTS "healthLastSuccessAt" timestamp,
|
|
ADD COLUMN IF NOT EXISTS "healthAutoDisabledAt" timestamp,
|
|
ADD COLUMN IF NOT EXISTS "healthAutoDisabledReason" text,
|
|
ADD COLUMN IF NOT EXISTS "healthUpdatedAt" timestamp DEFAULT now() NOT NULL;
|
|
|
|
CREATE TABLE IF NOT EXISTS "AiModelHealthEvent" (
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
"modelId" uuid REFERENCES "AiModel"("id") ON DELETE SET NULL,
|
|
"providerId" uuid REFERENCES "AiProvider"("id") ON DELETE SET NULL,
|
|
"modelRuntimeId" varchar(128),
|
|
"modelDisplayName" varchar(128),
|
|
"providerType" varchar(64),
|
|
"providerName" varchar(128),
|
|
"eventType" varchar(32) DEFAULT 'error' NOT NULL,
|
|
"severity" varchar(24) DEFAULT 'error' NOT NULL,
|
|
"context" varchar(96),
|
|
"counted" boolean DEFAULT true NOT NULL,
|
|
"consecutiveFailures" integer DEFAULT 0 NOT NULL,
|
|
"autoDisabled" boolean DEFAULT false NOT NULL,
|
|
"elapsedMs" integer,
|
|
"requestId" varchar(128),
|
|
"errorMessage" text,
|
|
"metadata" jsonb,
|
|
"createdAt" timestamp DEFAULT now() NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS "AiModelHealthEvent_modelId_createdAt_idx"
|
|
ON "AiModelHealthEvent" ("modelId", "createdAt" DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS "AiModelHealthEvent_createdAt_idx"
|
|
ON "AiModelHealthEvent" ("createdAt" DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS "AiModel_healthStatus_idx"
|
|
ON "AiModel" ("healthStatus");
|