Files
RFP_Finanzen/prisma/migrations/202605051200_settings_documents/migration.sql
jan f87a82e02f
All checks were successful
CI / Build and Deploy (push) Successful in 2m20s
AG Scroll Settings Budget Push und Rechnungsdokumente umsetzen
2026-05-05 23:08:25 +02:00

36 lines
1.4 KiB
SQL

CREATE TYPE "BudgetReleaseNotifyTarget" AS ENUM ('ALL_GROUP_USERS', 'GROUP_MEMBERS_ONLY');
ALTER TABLE "app_settings"
ADD COLUMN "required_approval_types" "ApprovalType"[] NOT NULL DEFAULT ARRAY['CHAIR_A', 'CHAIR_B', 'FINANCE']::"ApprovalType"[],
ADD COLUMN "budget_release_notify_target" "BudgetReleaseNotifyTarget" NOT NULL DEFAULT 'ALL_GROUP_USERS';
CREATE TABLE "expense_documents" (
"id" TEXT NOT NULL,
"expense_id" TEXT NOT NULL,
"invoice_date" TIMESTAMP(3) NOT NULL,
"proof_url" TEXT NOT NULL,
"drive_file_id" TEXT,
"original_file_name" TEXT NOT NULL,
"stored_file_name" TEXT NOT NULL,
"mime_type" TEXT NOT NULL,
"size" INTEGER NOT NULL,
"uploaded_by_id" TEXT NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "expense_documents_pkey" PRIMARY KEY ("id")
);
CREATE INDEX "expense_documents_expense_id_idx" ON "expense_documents"("expense_id");
CREATE INDEX "expense_documents_uploaded_by_id_idx" ON "expense_documents"("uploaded_by_id");
ALTER TABLE "expense_documents"
ADD CONSTRAINT "expense_documents_expense_id_fkey"
FOREIGN KEY ("expense_id") REFERENCES "expenses"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "expense_documents"
ADD CONSTRAINT "expense_documents_uploaded_by_id_fkey"
FOREIGN KEY ("uploaded_by_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "expenses"
DROP COLUMN "invoice_date",
DROP COLUMN "proof_url";