IF OBJECT_ID(N'[dbo].[Hr_T_PerformanceFeedback]', 'U') IS NULL BEGIN CREATE TABLE [dbo].[Hr_T_PerformanceFeedback] ( [Id] uniqueidentifier NOT NULL DEFAULT NEWID(), [TenantId] uniqueidentifier NULL, [ReviewId] uniqueidentifier NOT NULL, [ReviewerId] uniqueidentifier NOT NULL, [Relation] nvarchar(16) NOT NULL DEFAULT 'Peer', [Status] nvarchar(16) NOT NULL DEFAULT 'Pending', [Score] decimal(6, 2) NULL, [Comment] nvarchar(2048) NULL, [SubmittedDate] datetime2 NULL, [IsActive] bit NOT NULL DEFAULT 1, [CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(), [CreatorId] uniqueidentifier NULL, [LastModificationTime] datetime2 NULL, [LastModifierId] uniqueidentifier NULL, [IsDeleted] bit NOT NULL DEFAULT 0, [DeletionTime] datetime2 NULL, [DeleterId] uniqueidentifier NULL, CONSTRAINT [PK_Hr_T_PerformanceFeedback] PRIMARY KEY NONCLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO IF OBJECT_ID(N'[dbo].[CK_Hr_T_PerformanceFeedback_Relation]', 'C') IS NULL ALTER TABLE [dbo].[Hr_T_PerformanceFeedback] ADD CONSTRAINT [CK_Hr_T_PerformanceFeedback_Relation] CHECK ([Relation] IN ('Peer', 'Subordinate', 'Superior', 'InternalCustomer')) GO IF OBJECT_ID(N'[dbo].[CK_Hr_T_PerformanceFeedback_Status]', 'C') IS NULL ALTER TABLE [dbo].[Hr_T_PerformanceFeedback] ADD CONSTRAINT [CK_Hr_T_PerformanceFeedback_Status] CHECK ([Status] IN ('Pending', 'Submitted')) GO IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'UX_Hr_T_PerformanceFeedback_Reviewer' AND object_id = OBJECT_ID(N'[dbo].[Hr_T_PerformanceFeedback]')) CREATE UNIQUE NONCLUSTERED INDEX [UX_Hr_T_PerformanceFeedback_Reviewer] ON [dbo].[Hr_T_PerformanceFeedback] ([ReviewId], [ReviewerId]) WHERE [IsDeleted] = 0 GO IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_Hr_T_PerformanceFeedback_ReviewerId' AND object_id = OBJECT_ID(N'[dbo].[Hr_T_PerformanceFeedback]')) CREATE NONCLUSTERED INDEX [IX_Hr_T_PerformanceFeedback_ReviewerId] ON [dbo].[Hr_T_PerformanceFeedback] ([ReviewerId]) GO