CREATE TABLE "document_versions" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "document_id" uuid NOT NULL, "version_number" integer NOT NULL, "client_version_id" text, "content_hash" text NOT NULL, "message" text, "fields" jsonb, "template_id" text, "file_name" text, "docx_object_key" text NOT NULL, "pdf_object_key" text, "docx_size" integer NOT NULL, "pdf_size" integer, "user_id" text NOT NULL, "user_name" text NOT NULL, "created_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "documents" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "doc_id" text NOT NULL, "created_at" timestamp with time zone DEFAULT now() NOT NULL ); --> statement-breakpoint ALTER TABLE "document_versions" ADD CONSTRAINT "document_versions_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint CREATE UNIQUE INDEX "document_versions_document_number_key" ON "document_versions" USING btree ("document_id","version_number");--> statement-breakpoint CREATE INDEX "document_versions_document_created_idx" ON "document_versions" USING btree ("document_id","created_at");--> statement-breakpoint CREATE UNIQUE INDEX "documents_doc_id_key" ON "documents" USING btree ("doc_id");