-- CASHV: 付款批次银行回单附件。用于记录网银/银行侧付款完成后的回单证据,不接真实支付接口。 CREATE TABLE "payment_batch_receipt_attachments" ( "id" UUID NOT NULL, "payment_batch_id" UUID NOT NULL, "storage_path" TEXT NOT NULL, "original_name" TEXT NOT NULL, "mime_type" TEXT NOT NULL, "file_size" INTEGER NOT NULL, "file_sha256" TEXT NOT NULL, "uploaded_by" UUID NOT NULL, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "payment_batch_receipt_attachments_pkey" PRIMARY KEY ("id") ); CREATE INDEX "idx_payment_batch_receipts_batch_created" ON "payment_batch_receipt_attachments"("payment_batch_id", "created_at"); CREATE INDEX "idx_payment_batch_receipts_uploader" ON "payment_batch_receipt_attachments"("uploaded_by"); CREATE INDEX "idx_payment_batch_receipts_file_sha256" ON "payment_batch_receipt_attachments"("file_sha256"); ALTER TABLE "payment_batch_receipt_attachments" ADD CONSTRAINT "payment_batch_receipt_attachments_payment_batch_id_fkey" FOREIGN KEY ("payment_batch_id") REFERENCES "payment_batches"("id") ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE "payment_batch_receipt_attachments" ADD CONSTRAINT "payment_batch_receipt_attachments_uploaded_by_fkey" FOREIGN KEY ("uploaded_by") REFERENCES "employees"("id") ON DELETE RESTRICT ON UPDATE CASCADE;