24 lines
1.1 KiB
SQL
24 lines
1.1 KiB
SQL
CREATE TABLE IF NOT EXISTS "AiCadWorkspace" (
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
"userId" uuid NOT NULL,
|
|
"prompt" text DEFAULT '' NOT NULL,
|
|
"generationProvider" varchar(32) DEFAULT 'kittycad-cad' NOT NULL,
|
|
"modelVersion" varchar(128) DEFAULT 'Turbo-v1.0-20250506' NOT NULL,
|
|
"viewerSettings" jsonb DEFAULT '{"envPreset":"studio","lightIntensity":1.1,"autoRotate":true,"showGrid":true,"wireframe":false}'::jsonb NOT NULL,
|
|
"messages" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
"versions" jsonb DEFAULT '[]'::jsonb NOT NULL,
|
|
"activeVersionId" varchar(64),
|
|
"createdAt" timestamp DEFAULT now() NOT NULL,
|
|
"updatedAt" timestamp DEFAULT now() NOT NULL,
|
|
CONSTRAINT "AiCadWorkspace_userId_unique" UNIQUE("userId")
|
|
);
|
|
--> statement-breakpoint
|
|
DO $$ BEGIN
|
|
ALTER TABLE "AiCadWorkspace" ADD CONSTRAINT "AiCadWorkspace_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
|
|
CREATE INDEX IF NOT EXISTS "AiCadWorkspace_user_updated_idx"
|
|
ON "AiCadWorkspace"("userId", "updatedAt");
|