CREATE TABLE "documents" ( "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "documents_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), "contract_id" integer NOT NULL, "doc_number" varchar(100) NOT NULL, "title" varchar(255) NOT NULL, "status" varchar(50) DEFAULT 'ACTIVE' NOT NULL, "issued_date" date, "created_at" timestamp DEFAULT now() NOT NULL, "updated_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "issue_stages" ( "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "issue_stages_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), "document_id" integer NOT NULL, "stage_name" varchar(100) NOT NULL, "plan_date" date, "actual_date" date, "created_at" timestamp DEFAULT now() NOT NULL, "updated_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint CREATE TABLE "revisions" ( "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "revisions_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), "issue_stage_id" integer NOT NULL, "revision" varchar(50) NOT NULL, "file_path" varchar(255), "approved_date" date, "created_at" timestamp DEFAULT now() NOT NULL, "updated_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint ALTER TABLE "documents" ADD CONSTRAINT "documents_contract_id_contracts_id_fk" FOREIGN KEY ("contract_id") REFERENCES "public"."contracts"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "issue_stages" ADD CONSTRAINT "issue_stages_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "revisions" ADD CONSTRAINT "revisions_issue_stage_id_issue_stages_id_fk" FOREIGN KEY ("issue_stage_id") REFERENCES "public"."issue_stages"("id") ON DELETE cascade ON UPDATE no action;