18 lines
1.2 KiB
SQL
18 lines
1.2 KiB
SQL
CREATE TABLE "comments" (
|
|||
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
||
|
|
"entity_type" text NOT NULL,
|
||
|
|
"entity_id" uuid NOT NULL,
|
||
|
|
"workspace_id" uuid NOT NULL,
|
||
|
|
"parent_id" uuid,
|
||
|
|
"author" text NOT NULL,
|
||
|
|
"content" text NOT NULL,
|
||
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||
|
|
"deleted_at" timestamp with time zone
|
||
|
|
);
|
||
|
|
--> statement-breakpoint
|
||
|
|
ALTER TABLE "comments" ADD CONSTRAINT "comments_workspace_id_domains_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."domains"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||
|
|
ALTER TABLE "comments" ADD CONSTRAINT "comments_parent_id_comments_id_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."comments"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||
|
|
CREATE INDEX "comments_workspace_id_idx" ON "comments" USING btree ("workspace_id");--> statement-breakpoint
|
||
|
|
CREATE INDEX "comments_entity_idx" ON "comments" USING btree ("entity_type","entity_id");--> statement-breakpoint
|
||
|
|
CREATE INDEX "comments_parent_id_idx" ON "comments" USING btree ("parent_id");--> statement-breakpoint
|
||
|
|
CREATE INDEX "comments_created_at_idx" ON "comments" USING btree ("created_at");
|