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");