54 lines
2.8 KiB
Transact-SQL
54 lines
2.8 KiB
Transact-SQL
-- Create Table
|
|
IF OBJECT_ID(N'[dbo].[Prj_T_Task]', N'U') IS NULL
|
|
BEGIN
|
|
CREATE TABLE [dbo].[Prj_T_Task] (
|
|
[Id] UNIQUEIDENTIFIER NOT NULL CONSTRAINT [PK_Prj_T_Task] PRIMARY KEY,
|
|
[TenantId] UNIQUEIDENTIFIER NULL,
|
|
[Name] NVARCHAR(300) NOT NULL,
|
|
[MilestoneId] UNIQUEIDENTIFIER NULL,
|
|
[AssigneeIds] NVARCHAR(1000) NULL,
|
|
[TagIds] NVARCHAR(1000) NULL,
|
|
[CustomerId] UNIQUEIDENTIFIER NULL,
|
|
[CustomerContact] NVARCHAR(200) NULL,
|
|
[SalesOrderLine] NVARCHAR(300) NULL,
|
|
[PlannedHours] DECIMAL(18, 2) NULL,
|
|
[ProgressPercent] DECIMAL(18, 2) NULL,
|
|
[Status] NVARCHAR(50) NOT NULL CONSTRAINT [DF_Prj_T_Task_Status] DEFAULT (N'Taslak'),
|
|
[PlannedStartDate] DATETIME2 NULL,
|
|
[PlannedEndDate] DATETIME2 NULL,
|
|
[IsFavorite] BIT NOT NULL CONSTRAINT [DF_Prj_T_Task_IsFavorite] DEFAULT (0),
|
|
[ParentTaskId] UNIQUEIDENTIFIER NULL,
|
|
[Description] NVARCHAR(MAX) NULL,
|
|
[CreationTime] DATETIME2 NOT NULL CONSTRAINT [DF_Prj_T_Task_CreationTime] DEFAULT (GETUTCDATE()),
|
|
[CreatorId] UNIQUEIDENTIFIER NULL,
|
|
[LastModificationTime] DATETIME2 NULL,
|
|
[LastModifierId] UNIQUEIDENTIFIER NULL,
|
|
[IsDeleted] BIT NOT NULL CONSTRAINT [DF_Prj_T_Task_IsDeleted] DEFAULT (0),
|
|
[DeletionTime] DATETIME2 NULL,
|
|
[DeleterId] UNIQUEIDENTIFIER NULL
|
|
);
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_Prj_T_Task_Milestone')
|
|
ALTER TABLE [dbo].[Prj_T_Task] ADD CONSTRAINT [FK_Prj_T_Task_Milestone]
|
|
FOREIGN KEY ([MilestoneId]) REFERENCES [dbo].[Prj_T_Milestone] ([Id]);
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_Prj_T_Task_Customer')
|
|
ALTER TABLE [dbo].[Prj_T_Task] ADD CONSTRAINT [FK_Prj_T_Task_Customer]
|
|
FOREIGN KEY ([CustomerId]) REFERENCES [dbo].[Prj_T_Customer] ([Id]);
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_Prj_T_Task_ParentTask')
|
|
ALTER TABLE [dbo].[Prj_T_Task] ADD CONSTRAINT [FK_Prj_T_Task_ParentTask]
|
|
FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Prj_T_Task] ([Id]);
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_Prj_T_Task_TenantId_Status' AND object_id = OBJECT_ID(N'[dbo].[Prj_T_Task]'))
|
|
CREATE INDEX [IX_Prj_T_Task_TenantId_Status] ON [dbo].[Prj_T_Task] ([TenantId] ASC, [Status] ASC);
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_Prj_T_Task_ParentTaskId' AND object_id = OBJECT_ID(N'[dbo].[Prj_T_Task]'))
|
|
CREATE INDEX [IX_Prj_T_Task_ParentTaskId] ON [dbo].[Prj_T_Task] ([ParentTaskId] ASC);
|
|
GO
|