26 lines
929 B
SQL
26 lines
929 B
SQL
CREATE TABLE "expense_claims" (
|
|
"id" TEXT NOT NULL,
|
|
"employeeId" TEXT NOT NULL,
|
|
"claimNumber" TEXT NOT NULL,
|
|
"expenseDate" DATE,
|
|
"amount" DECIMAL(12,2),
|
|
"description" TEXT,
|
|
"projectOrTender" TEXT,
|
|
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
|
"approvedBy" TEXT,
|
|
"approvedAt" TIMESTAMP(3),
|
|
"rejectedReason" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "expense_claims_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE UNIQUE INDEX "expense_claims_claimNumber_key" ON "expense_claims"("claimNumber");
|
|
CREATE INDEX "expense_claims_employeeId_idx" ON "expense_claims"("employeeId");
|
|
CREATE INDEX "expense_claims_status_idx" ON "expense_claims"("status");
|
|
|
|
ALTER TABLE "expense_claims"
|
|
ADD CONSTRAINT "expense_claims_employeeId_fkey"
|
|
FOREIGN KEY ("employeeId") REFERENCES "employees"("id")
|
|
ON DELETE RESTRICT ON UPDATE CASCADE; |