49 lines
1.8 KiB
MySQL
49 lines
1.8 KiB
MySQL
|
|
CREATE TABLE IF NOT EXISTS public."Hr_T_PerformancePeriod"
|
||
|
|
(
|
||
|
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||
|
|
"TenantId" uuid NULL,
|
||
|
|
"Name" varchar(128) NOT NULL,
|
||
|
|
"StartDate" date NOT NULL,
|
||
|
|
"EndDate" date NOT NULL,
|
||
|
|
"SelfReviewDueDate" date NULL,
|
||
|
|
"ManagerReviewDueDate" date NULL,
|
||
|
|
"GoalWeight" numeric(5, 2) NOT NULL DEFAULT 60,
|
||
|
|
"CompetencyWeight" numeric(5, 2) NOT NULL DEFAULT 40,
|
||
|
|
"Is360Enabled" boolean NOT NULL DEFAULT FALSE,
|
||
|
|
"Status" varchar(16) NOT NULL DEFAULT 'Planned',
|
||
|
|
"Description" varchar(1024) NULL,
|
||
|
|
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||
|
|
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||
|
|
"CreatorId" uuid NULL,
|
||
|
|
"LastModificationTime" timestamp NULL,
|
||
|
|
"LastModifierId" uuid NULL,
|
||
|
|
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||
|
|
"DeletionTime" timestamp NULL,
|
||
|
|
"DeleterId" uuid NULL,
|
||
|
|
CONSTRAINT "PK_Hr_T_PerformancePeriod" PRIMARY KEY ("Id")
|
||
|
|
);
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'CK_Hr_T_PerformancePeriod_Dates') THEN
|
||
|
|
ALTER TABLE public."Hr_T_PerformancePeriod" ADD CONSTRAINT "CK_Hr_T_PerformancePeriod_Dates" CHECK ("EndDate" >= "StartDate");
|
||
|
|
END IF;
|
||
|
|
END
|
||
|
|
$$;
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'CK_Hr_T_PerformancePeriod_Weights') THEN
|
||
|
|
ALTER TABLE public."Hr_T_PerformancePeriod" ADD CONSTRAINT "CK_Hr_T_PerformancePeriod_Weights" CHECK ("GoalWeight" >= 0 AND "CompetencyWeight" >= 0 AND "GoalWeight" + "CompetencyWeight" = 100);
|
||
|
|
END IF;
|
||
|
|
END
|
||
|
|
$$;
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'CK_Hr_T_PerformancePeriod_Status') THEN
|
||
|
|
ALTER TABLE public."Hr_T_PerformancePeriod" ADD CONSTRAINT "CK_Hr_T_PerformancePeriod_Status" CHECK ("Status" IN ('Planned', 'Active', 'Calibration', 'Closed'));
|
||
|
|
END IF;
|
||
|
|
END
|
||
|
|
$$;
|