176 lines
6.0 KiB
Transact-SQL
176 lines
6.0 KiB
Transact-SQL
BEGIN TRANSACTION;
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [InitiativeReports] (
|
|
[Id] uniqueidentifier NOT NULL,
|
|
[Code] nvarchar(50) NOT NULL,
|
|
[InitiativeId] uniqueidentifier NOT NULL,
|
|
[ActualOutcomes] nvarchar(4000) NULL,
|
|
[ActualBudget] decimal(18,2) NULL,
|
|
[ImplementationNotes] nvarchar(4000) NULL,
|
|
[Challenges] nvarchar(4000) NULL,
|
|
[LessonsLearned] nvarchar(4000) NULL,
|
|
[Status] int NOT NULL,
|
|
[SubmissionDate] datetime2 NULL,
|
|
[ApprovalDate] datetime2 NULL,
|
|
[SubmittedByUserId] nvarchar(450) NULL,
|
|
[CreatedAt] datetime2 NOT NULL,
|
|
[UpdatedAt] datetime2 NULL,
|
|
[CreatedBy] nvarchar(max) NULL,
|
|
[UpdatedBy] nvarchar(max) NULL,
|
|
[IsDeleted] bit NOT NULL,
|
|
[DeletedAt] datetime2 NULL,
|
|
[DeletedBy] nvarchar(max) NULL,
|
|
CONSTRAINT [PK_InitiativeReports] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_InitiativeReports_Initiatives_InitiativeId] FOREIGN KEY ([InitiativeId]) REFERENCES [Initiatives] ([Id]) ON DELETE NO ACTION
|
|
);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [RecognitionDocuments] (
|
|
[Id] uniqueidentifier NOT NULL,
|
|
[Code] nvarchar(50) NOT NULL,
|
|
[ReportId] uniqueidentifier NOT NULL,
|
|
[Type] int NOT NULL,
|
|
[Content] nvarchar(max) NULL,
|
|
[Summary] nvarchar(1000) NULL,
|
|
[Status] int NOT NULL,
|
|
[SubmissionDate] datetime2 NULL,
|
|
[ApprovalDate] datetime2 NULL,
|
|
[SubmittedByUserId] nvarchar(450) NULL,
|
|
[CreatedAt] datetime2 NOT NULL,
|
|
[UpdatedAt] datetime2 NULL,
|
|
[CreatedBy] nvarchar(max) NULL,
|
|
[UpdatedBy] nvarchar(max) NULL,
|
|
[IsDeleted] bit NOT NULL,
|
|
[DeletedAt] datetime2 NULL,
|
|
[DeletedBy] nvarchar(max) NULL,
|
|
CONSTRAINT [PK_RecognitionDocuments] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_RecognitionDocuments_InitiativeReports_ReportId] FOREIGN KEY ([ReportId]) REFERENCES [InitiativeReports] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [ReportStatusHistories] (
|
|
[Id] uniqueidentifier NOT NULL,
|
|
[ReportId] uniqueidentifier NOT NULL,
|
|
[FromStatus] int NOT NULL,
|
|
[ToStatus] int NOT NULL,
|
|
[Comment] nvarchar(2000) NULL,
|
|
[ChangedByUserId] nvarchar(450) NOT NULL,
|
|
[CreatedAt] datetime2 NOT NULL,
|
|
[UpdatedAt] datetime2 NULL,
|
|
[CreatedBy] nvarchar(max) NULL,
|
|
[UpdatedBy] nvarchar(max) NULL,
|
|
[IsDeleted] bit NOT NULL,
|
|
[DeletedAt] datetime2 NULL,
|
|
[DeletedBy] nvarchar(max) NULL,
|
|
CONSTRAINT [PK_ReportStatusHistories] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_ReportStatusHistories_InitiativeReports_ReportId] FOREIGN KEY ([ReportId]) REFERENCES [InitiativeReports] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [DocumentStatusHistories] (
|
|
[Id] uniqueidentifier NOT NULL,
|
|
[DocumentId] uniqueidentifier NOT NULL,
|
|
[FromStatus] int NOT NULL,
|
|
[ToStatus] int NOT NULL,
|
|
[Comment] nvarchar(2000) NULL,
|
|
[ChangedByUserId] nvarchar(450) NOT NULL,
|
|
[CreatedAt] datetime2 NOT NULL,
|
|
[UpdatedAt] datetime2 NULL,
|
|
[CreatedBy] nvarchar(max) NULL,
|
|
[UpdatedBy] nvarchar(max) NULL,
|
|
[IsDeleted] bit NOT NULL,
|
|
[DeletedAt] datetime2 NULL,
|
|
[DeletedBy] nvarchar(max) NULL,
|
|
CONSTRAINT [PK_DocumentStatusHistories] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_DocumentStatusHistories_RecognitionDocuments_DocumentId] FOREIGN KEY ([DocumentId]) REFERENCES [RecognitionDocuments] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_DocumentStatusHistories_DocumentId] ON [DocumentStatusHistories] ([DocumentId]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE INDEX [IX_InitiativeReports_Code] ON [InitiativeReports] ([Code]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_InitiativeReports_InitiativeId] ON [InitiativeReports] ([InitiativeId]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_InitiativeReports_Status] ON [InitiativeReports] ([Status]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE INDEX [IX_RecognitionDocuments_Code] ON [RecognitionDocuments] ([Code]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE INDEX [IX_RecognitionDocuments_ReportId_Type] ON [RecognitionDocuments] ([ReportId], [Type]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_ReportStatusHistories_ReportId] ON [ReportStatusHistories] ([ReportId]);
|
|
END;
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260416081839_AddReportAndDocumentEntities'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260416081839_AddReportAndDocumentEntities', N'10.0.6');
|
|
END;
|
|
|
|
COMMIT;
|
|
GO
|
|
|