34 lines
1.4 KiB
SQL
34 lines
1.4 KiB
SQL
CREATE TABLE IF NOT EXISTS public."Prj_T_WorkPackageMonthRate"
|
|
(
|
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
|
"TenantId" uuid NULL,
|
|
"WorkPackageId" uuid NOT NULL,
|
|
"UserId" uuid NOT NULL,
|
|
"Year" integer NOT NULL,
|
|
"Month" integer NOT NULL,
|
|
"Rate" numeric(18, 4) NOT NULL DEFAULT 0,
|
|
"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_Prj_T_WorkPackageMonthRate" PRIMARY KEY ("Id")
|
|
);
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'UQ_Prj_T_WorkPackageMonthRate_TenantId_WorkPackageId_UserId_Year_Month') THEN
|
|
ALTER TABLE public."Prj_T_WorkPackageMonthRate" ADD CONSTRAINT "UQ_Prj_T_WorkPackageMonthRate_TenantId_WorkPackageId_UserId_Year_Month" UNIQUE ("TenantId", "WorkPackageId", "UserId", "Year", "Month");
|
|
END IF;
|
|
END
|
|
$$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'FK_Prj_T_WorkPackageMonthRate_WorkPackageId') THEN
|
|
ALTER TABLE public."Prj_T_WorkPackageMonthRate" ADD CONSTRAINT "FK_Prj_T_WorkPackageMonthRate_WorkPackageId" FOREIGN KEY ("WorkPackageId") REFERENCES public."Prj_T_WorkPackage" ("Id") ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
END IF;
|
|
END
|
|
$$;
|