文件
hyb-oa/server/prisma/migrations/20260329194000_r43_employee_avatar_contracts/migration.sql
T

36 行
1.3 KiB
SQL

-- AlterTable
ALTER TABLE "employees" ADD COLUMN "avatar_path" TEXT;
-- CreateEnum
CREATE TYPE "EmployeeContractType" AS ENUM ('labor', 'nda', 'non_compete', 'internship');
-- CreateTable
CREATE TABLE "employee_contracts" (
"id" UUID NOT NULL,
"employee_id" UUID NOT NULL,
"contract_no" TEXT NOT NULL,
"contract_type" "EmployeeContractType" NOT NULL,
"start_date" DATE NOT NULL,
"end_date" DATE NOT NULL,
"terminated_date" DATE,
"attachment_path" TEXT,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"created_by" UUID,
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_by" UUID,
CONSTRAINT "employee_contracts_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "employee_contracts_employee_contract_no_ux" ON "employee_contracts"("employee_id", "contract_no");
-- CreateIndex
CREATE INDEX "idx_employee_contracts_employee_start" ON "employee_contracts"("employee_id", "start_date");
-- CreateIndex
CREATE INDEX "idx_employee_contracts_employee_end" ON "employee_contracts"("employee_id", "end_date");
-- AddForeignKey
ALTER TABLE "employee_contracts" ADD CONSTRAINT "employee_contracts_employee_id_fkey" FOREIGN KEY ("employee_id") REFERENCES "employees"("id") ON DELETE CASCADE ON UPDATE CASCADE;