-- 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;