-- Create Table IF OBJECT_ID(N'[dbo].[Prj_T_Timesheet]', N'U') IS NULL BEGIN CREATE TABLE [dbo].[Prj_T_Timesheet] ( [Id] UNIQUEIDENTIFIER NOT NULL CONSTRAINT [PK_Prj_T_Timesheet] PRIMARY KEY, [TenantId] UNIQUEIDENTIFIER NULL, [TaskId] UNIQUEIDENTIFIER NOT NULL, [WorkDate] DATETIME2 NOT NULL, [UserId] UNIQUEIDENTIFIER NULL, [Description] NVARCHAR(500) NULL, [Hours] DECIMAL(18, 2) NOT NULL CONSTRAINT [DF_Prj_T_Timesheet_Hours] DEFAULT (0), [CreationTime] DATETIME2 NOT NULL CONSTRAINT [DF_Prj_T_Timesheet_CreationTime] DEFAULT (GETUTCDATE()), [CreatorId] UNIQUEIDENTIFIER NULL, [LastModificationTime] DATETIME2 NULL, [LastModifierId] UNIQUEIDENTIFIER NULL, [IsDeleted] BIT NOT NULL CONSTRAINT [DF_Prj_T_Timesheet_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_Timesheet_Task') ALTER TABLE [dbo].[Prj_T_Timesheet] ADD CONSTRAINT [FK_Prj_T_Timesheet_Task] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Prj_T_Task] ([Id]); GO IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_Prj_T_Timesheet_TaskId_WorkDate' AND object_id = OBJECT_ID(N'[dbo].[Prj_T_Timesheet]')) CREATE INDEX [IX_Prj_T_Timesheet_TaskId_WorkDate] ON [dbo].[Prj_T_Timesheet] ([TaskId] ASC, [WorkDate] DESC); GO