40 lines
1.4 KiB
MySQL
40 lines
1.4 KiB
MySQL
|
|
CREATE TABLE IF NOT EXISTS public."Prj_T_WorkPackage"
|
||
|
|
(
|
||
|
|
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||
|
|
"TenantId" uuid NULL,
|
||
|
|
"ProjectId" uuid NOT NULL,
|
||
|
|
"ParentId" uuid NULL,
|
||
|
|
"Code" varchar(16) NOT NULL,
|
||
|
|
"Name" varchar(512) NOT NULL,
|
||
|
|
"StartDate" date NOT NULL,
|
||
|
|
"EndDate" date NOT NULL,
|
||
|
|
"Months" integer NULL,
|
||
|
|
"Progress" numeric(18, 4) NOT NULL DEFAULT 0,
|
||
|
|
"Color" varchar(16) NULL,
|
||
|
|
"Note" varchar(1024) NULL,
|
||
|
|
"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_WorkPackage" PRIMARY KEY ("Id")
|
||
|
|
);
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'UQ_Prj_T_WorkPackage_TenantId_ProjectId_Code') THEN
|
||
|
|
ALTER TABLE public."Prj_T_WorkPackage" ADD CONSTRAINT "UQ_Prj_T_WorkPackage_TenantId_ProjectId_Code" UNIQUE ("TenantId", "ProjectId", "Code");
|
||
|
|
END IF;
|
||
|
|
END
|
||
|
|
$$;
|
||
|
|
|
||
|
|
DO $$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'FK_Prj_T_WorkPackage_ProjectId') THEN
|
||
|
|
ALTER TABLE public."Prj_T_WorkPackage" ADD CONSTRAINT "FK_Prj_T_WorkPackage_ProjectId" FOREIGN KEY ("ProjectId") REFERENCES public."Prj_T_Project" ("Id") ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||
|
|
END IF;
|
||
|
|
END
|
||
|
|
$$;
|