ai-chatbot/lib/db/migrations/0013_loving_ultimatum.sql
Your Name fc063df878
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
fix: include 0013 migration + avoid duplicate add column
2026-02-14 01:01:41 +08:00

93 lines
4.9 KiB
SQL

CREATE TABLE IF NOT EXISTS "CanvasNode" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"projectId" uuid NOT NULL,
"type" varchar(32) NOT NULL,
"position" jsonb,
"size" jsonb,
"data" jsonb,
"connections" jsonb DEFAULT '[]'::jsonb,
"parentId" uuid,
"createdAt" timestamp DEFAULT now() NOT NULL,
"updatedAt" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "CanvasProject" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"userId" uuid NOT NULL,
"title" varchar(256) DEFAULT '未命名画布' NOT NULL,
"description" text,
"thumbnail" text,
"canvasData" jsonb,
"createdAt" timestamp DEFAULT now() NOT NULL,
"updatedAt" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "GeneratedImage" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"userId" uuid NOT NULL,
"chatId" uuid,
"messageId" uuid,
"thumbnailUrl" text NOT NULL,
"originalUrl" text NOT NULL,
"imageSize" varchar(10) DEFAULT '2K',
"prompt" text,
"modelId" varchar(128),
"isFeatured" boolean DEFAULT false NOT NULL,
"featuredAt" timestamp,
"featuredBy" uuid,
"createdAt" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "capabilities" jsonb;--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "defaultParams" jsonb;--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "is_sub_model" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "parent_model_id" uuid;--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "fallbackModelId1" varchar(128);--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "fallbackModelId2" varchar(128);--> statement-breakpoint
ALTER TABLE "AiModel" ADD COLUMN IF NOT EXISTS "imageGenConfig" jsonb;--> statement-breakpoint
ALTER TABLE "AuthSettings" ADD COLUMN IF NOT EXISTS "dingTalkOrganizations" jsonb;--> statement-breakpoint
ALTER TABLE "Message_v2" ADD COLUMN IF NOT EXISTS "video_storage_status" varchar(20) DEFAULT 'temporary';--> statement-breakpoint
ALTER TABLE "Message_v2" ADD COLUMN IF NOT EXISTS "temporary_video_url" text;--> statement-breakpoint
ALTER TABLE "Message_v2" ADD COLUMN IF NOT EXISTS "permanent_video_url" text;--> statement-breakpoint
ALTER TABLE "Message_v2" ADD COLUMN IF NOT EXISTS "archived_at" timestamp;--> statement-breakpoint
ALTER TABLE "Message_v2" ADD COLUMN IF NOT EXISTS "video_metadata" jsonb;--> statement-breakpoint
ALTER TABLE "SiteSettings" ADD COLUMN IF NOT EXISTS "showAutoModel" boolean DEFAULT true NOT NULL;--> statement-breakpoint
ALTER TABLE "SiteSettings" ADD COLUMN IF NOT EXISTS "defaultTheme" varchar(16) DEFAULT 'system' NOT NULL;--> statement-breakpoint
ALTER TABLE "SiteSettings" ADD COLUMN IF NOT EXISTS "usageTimeEnabled" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "SiteSettings" ADD COLUMN IF NOT EXISTS "usageTimeStart" varchar(5) DEFAULT '08:00';--> statement-breakpoint
ALTER TABLE "SiteSettings" ADD COLUMN IF NOT EXISTS "usageTimeEnd" varchar(5) DEFAULT '20:00';--> statement-breakpoint
ALTER TABLE "SiteSettings" ADD COLUMN IF NOT EXISTS "usageTimeMessage" text DEFAULT '由壹点累了也是需要休息的';--> statement-breakpoint
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "name" varchar(100);--> statement-breakpoint
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "department" varchar(256);--> statement-breakpoint
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "dingtalkUserId" varchar(128);--> statement-breakpoint
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "monthlyImageLimit" integer;--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "CanvasNode" ADD CONSTRAINT "CanvasNode_projectId_CanvasProject_id_fk" FOREIGN KEY ("projectId") REFERENCES "public"."CanvasProject"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "CanvasProject" ADD CONSTRAINT "CanvasProject_userId_User_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "GeneratedImage" ADD CONSTRAINT "GeneratedImage_userId_User_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON DELETE no action ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "GeneratedImage" ADD CONSTRAINT "GeneratedImage_chatId_Chat_id_fk" FOREIGN KEY ("chatId") REFERENCES "public"."Chat"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "GeneratedImage" ADD CONSTRAINT "GeneratedImage_featuredBy_User_id_fk" FOREIGN KEY ("featuredBy") REFERENCES "public"."User"("id") ON DELETE no action ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;