76f266645d
含 Phase 1.1 IM seq 排序、断线重连、多端已读同步与微信式语音转文字 UI。 排除 node_modules、构建产物、安装包与 .env 密钥。 Co-authored-by: Cursor <cursoragent@cursor.com>
49 lines
1.7 KiB
SQL
49 lines
1.7 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "AttendancePunch" (
|
|
"id" TEXT NOT NULL,
|
|
"tenantId" TEXT NOT NULL DEFAULT '1',
|
|
"employeeId" TEXT NOT NULL,
|
|
"kind" TEXT NOT NULL,
|
|
"punchedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"remark" TEXT,
|
|
|
|
CONSTRAINT "AttendancePunch_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "LeaveRequest" (
|
|
"id" TEXT NOT NULL,
|
|
"tenantId" TEXT NOT NULL DEFAULT '1',
|
|
"employeeId" TEXT NOT NULL,
|
|
"kind" TEXT NOT NULL,
|
|
"startAt" TIMESTAMP(3) NOT NULL,
|
|
"endAt" TIMESTAMP(3) NOT NULL,
|
|
"days" DECIMAL(6,2) NOT NULL,
|
|
"reason" TEXT NOT NULL,
|
|
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
|
"comment" TEXT,
|
|
"decidedById" TEXT,
|
|
"decidedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "LeaveRequest_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "AttendancePunch_employeeId_punchedAt_idx" ON "AttendancePunch"("employeeId", "punchedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "LeaveRequest_employeeId_idx" ON "LeaveRequest"("employeeId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "LeaveRequest_status_idx" ON "LeaveRequest"("status");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "AttendancePunch" ADD CONSTRAINT "AttendancePunch_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "LeaveRequest" ADD CONSTRAINT "LeaveRequest_employeeId_fkey" FOREIGN KEY ("employeeId") REFERENCES "Employee"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "LeaveRequest" ADD CONSTRAINT "LeaveRequest_decidedById_fkey" FOREIGN KEY ("decidedById") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|