CREATE TABLE IF NOT EXISTS "ExternalImageApiRequestLog" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "apiKeyId" varchar(64), "apiKeyName" varchar(128), "ownerUserId" uuid, "modelDbId" uuid, "modelRuntimeId" varchar(128), "modelDisplayName" varchar(128), "prompt" text, "negativePrompt" text, "imageCount" integer NOT NULL DEFAULT 1, "aspectRatio" varchar(32), "imageSize" varchar(32), "status" varchar(32) NOT NULL DEFAULT 'pending', "requesterIp" varchar(64), "requesterUserAgent" text, "requestPayload" jsonb, "responsePayload" jsonb, "generatedImageIds" jsonb, "generatedAssetIds" jsonb, "generatedImageUrls" jsonb, "errorMessage" text, "durationMs" integer, "createdAt" timestamp DEFAULT now() NOT NULL, "completedAt" timestamp ); DO $$ BEGIN ALTER TABLE "ExternalImageApiRequestLog" ADD CONSTRAINT "ExternalImageApiRequestLog_ownerUserId_User_id_fk" FOREIGN KEY ("ownerUserId") REFERENCES "public"."User"("id") ON DELETE NO ACTION ON UPDATE NO ACTION; EXCEPTION WHEN duplicate_object THEN NULL; END $$; DO $$ BEGIN ALTER TABLE "ExternalImageApiRequestLog" ADD CONSTRAINT "ExternalImageApiRequestLog_modelDbId_AiModel_id_fk" FOREIGN KEY ("modelDbId") REFERENCES "public"."AiModel"("id") ON DELETE NO ACTION ON UPDATE NO ACTION; EXCEPTION WHEN duplicate_object THEN NULL; END $$;