CREATE TABLE "documents" ( "id" text PRIMARY KEY NOT NULL, "slug" text NOT NULL, "title" text NOT NULL, "type" text NOT NULL, "section" text NOT NULL, "status" text DEFAULT 'published' NOT NULL, "author" text DEFAULT '' NOT NULL, "tags" text[] DEFAULT '{}' NOT NULL, "path" text NOT NULL, "body" text DEFAULT '' NOT NULL, "search_vector" "tsvector" GENERATED ALWAYS AS (setweight(to_tsvector('simple', coalesce("documents"."title", '')), 'A') || setweight(to_tsvector('simple', coalesce("documents"."body", '')), 'B')) STORED NOT NULL, "created_at" timestamp with time zone NOT NULL, "updated_at" timestamp with time zone NOT NULL, CONSTRAINT "documents_slug_unique" UNIQUE("slug") ); --> statement-breakpoint CREATE INDEX "documents_search_idx" ON "documents" USING gin ("search_vector");--> statement-breakpoint CREATE INDEX "documents_section_idx" ON "documents" USING btree ("section");