sozsoft-platform/configs/seeds/host/sql/object/Prj_T_Timesheet.sql
2026-09-01 21:59:56 +03:00

30 lines
1.6 KiB
Transact-SQL

-- 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