A2/A4/A6 实现员工头像后端、组织架构接口与合同模型
这个提交包含在:
@@ -0,0 +1,35 @@
|
||||
-- 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;
|
||||
在新工单中引用
屏蔽一个用户