| CREATE TABLE IF NOT EXISTS "Message" ( | |
| "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, | |
| "chatId" uuid NOT NULL, | |
| "role" varchar NOT NULL, | |
| "content" json NOT NULL, | |
| "createdAt" timestamp NOT NULL | |
| ); | |
| --> statement-breakpoint | |
| CREATE TABLE IF NOT EXISTS "Vote" ( | |
| "chatId" uuid NOT NULL, | |
| "messageId" uuid NOT NULL, | |
| "isUpvoted" boolean NOT NULL, | |
| CONSTRAINT "Vote_chatId_messageId_pk" PRIMARY KEY("chatId","messageId") | |
| ); | |
| --> statement-breakpoint | |
| ALTER TABLE "Chat" ADD COLUMN "title" text NOT NULL;--> statement-breakpoint | |
| DO $$ BEGIN | |
| ALTER TABLE "Message" ADD CONSTRAINT "Message_chatId_Chat_id_fk" FOREIGN KEY ("chatId") REFERENCES "public"."Chat"("id") ON DELETE no action ON UPDATE no action; | |
| EXCEPTION | |
| WHEN duplicate_object THEN null; | |
| END $$; | |
| --> statement-breakpoint | |
| DO $$ BEGIN | |
| ALTER TABLE "Vote" ADD CONSTRAINT "Vote_chatId_Chat_id_fk" FOREIGN KEY ("chatId") REFERENCES "public"."Chat"("id") ON DELETE no action ON UPDATE no action; | |
| EXCEPTION | |
| WHEN duplicate_object THEN null; | |
| END $$; | |
| --> statement-breakpoint | |
| DO $$ BEGIN | |
| ALTER TABLE "Vote" ADD CONSTRAINT "Vote_messageId_Message_id_fk" FOREIGN KEY ("messageId") REFERENCES "public"."Message"("id") ON DELETE no action ON UPDATE no action; | |
| EXCEPTION | |
| WHEN duplicate_object THEN null; | |
| END $$; | |
| --> statement-breakpoint | |
| ALTER TABLE "Chat" DROP COLUMN IF EXISTS "messages"; |