1532 lines
42 KiB
Transact-SQL
1532 lines
42 KiB
Transact-SQL
IF OBJECT_ID(N'[__EFMigrationsHistory]') IS NULL
|
|
BEGIN
|
|
CREATE TABLE [__EFMigrationsHistory] (
|
|
[MigrationId] nvarchar(150) NOT NULL,
|
|
[ProductVersion] nvarchar(32) NOT NULL,
|
|
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260316155002_Baseline'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-16T15:49:58.7377851Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260316155002_Baseline'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-16T15:49:58.7377856Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260316155002_Baseline'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-16T15:49:58.7377858Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260316155002_Baseline'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260316155002_Baseline', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317121938_AddAiContextProfile'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [CompanyOperatingCosts] ADD [AiContextProfile] nvarchar(2000) NULL;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317121938_AddAiContextProfile'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-17T12:19:34.4894690Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317121938_AddAiContextProfile'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-17T12:19:34.4894696Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317121938_AddAiContextProfile'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-17T12:19:34.4894698Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317121938_AddAiContextProfile'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260317121938_AddAiContextProfile', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317205927_FixLaborItemQuantityDecimal'
|
|
)
|
|
BEGIN
|
|
DECLARE @var0 sysname;
|
|
SELECT @var0 = [d].[name]
|
|
FROM [sys].[default_constraints] [d]
|
|
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
|
|
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[QuoteItems]') AND [c].[name] = N'Quantity');
|
|
IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [QuoteItems] DROP CONSTRAINT [' + @var0 + '];');
|
|
ALTER TABLE [QuoteItems] ALTER COLUMN [Quantity] decimal(18,2) NOT NULL;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317205927_FixLaborItemQuantityDecimal'
|
|
)
|
|
BEGIN
|
|
DECLARE @var1 sysname;
|
|
SELECT @var1 = [d].[name]
|
|
FROM [sys].[default_constraints] [d]
|
|
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
|
|
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[JobItems]') AND [c].[name] = N'Quantity');
|
|
IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [JobItems] DROP CONSTRAINT [' + @var1 + '];');
|
|
ALTER TABLE [JobItems] ALTER COLUMN [Quantity] decimal(18,2) NOT NULL;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317205927_FixLaborItemQuantityDecimal'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-17T20:59:24.2463737Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317205927_FixLaborItemQuantityDecimal'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-17T20:59:24.2463746Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317205927_FixLaborItemQuantityDecimal'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-17T20:59:24.2463748Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260317205927_FixLaborItemQuantityDecimal'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260317205927_FixLaborItemQuantityDecimal', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [JobTimeEntries] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[JobId] int NOT NULL,
|
|
[ShopWorkerId] int NOT NULL,
|
|
[WorkDate] datetime2 NOT NULL,
|
|
[HoursWorked] decimal(18,2) NOT NULL,
|
|
[Stage] nvarchar(max) NULL,
|
|
[Notes] nvarchar(max) NULL,
|
|
[CompanyId] int 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_JobTimeEntries] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_JobTimeEntries_Jobs_JobId] FOREIGN KEY ([JobId]) REFERENCES [Jobs] ([Id]) ON DELETE CASCADE,
|
|
CONSTRAINT [FK_JobTimeEntries_ShopWorkers_ShopWorkerId] FOREIGN KEY ([ShopWorkerId]) REFERENCES [ShopWorkers] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T12:48:44.7462691Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T12:48:44.7462697Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T12:48:44.7462699Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTimeEntries_JobId] ON [JobTimeEntries] ([JobId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTimeEntries_ShopWorkerId] ON [JobTimeEntries] ([ShopWorkerId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318124847_AddJobTimeEntries'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260318124847_AddJobTimeEntries', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318131500_AddJobShopAccessCode'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Jobs] ADD [ShopAccessCode] uniqueidentifier NOT NULL DEFAULT (NEWID());
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318131500_AddJobShopAccessCode'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:14:57.2203832Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318131500_AddJobShopAccessCode'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:14:57.2203838Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318131500_AddJobShopAccessCode'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:14:57.2203839Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318131500_AddJobShopAccessCode'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE INDEX [IX_Jobs_ShopAccessCode] ON [Jobs] ([ShopAccessCode]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318131500_AddJobShopAccessCode'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260318131500_AddJobShopAccessCode', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318132857_AddShopWorkerRoleCosts'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [ShopWorkerRoleCosts] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[Role] int NOT NULL,
|
|
[HourlyRate] decimal(18,2) NOT NULL,
|
|
[CompanyId] int 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_ShopWorkerRoleCosts] PRIMARY KEY ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318132857_AddShopWorkerRoleCosts'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:28:54.6854802Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318132857_AddShopWorkerRoleCosts'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:28:54.6854849Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318132857_AddShopWorkerRoleCosts'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:28:54.6854851Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318132857_AddShopWorkerRoleCosts'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE INDEX [IX_ShopWorkerRoleCosts_CompanyId_Role] ON [ShopWorkerRoleCosts] ([CompanyId], [Role]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318132857_AddShopWorkerRoleCosts'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260318132857_AddShopWorkerRoleCosts', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Jobs] ADD [IsReworkJob] bit NOT NULL DEFAULT CAST(0 AS bit);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Jobs] ADD [OriginalJobId] int NULL;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [ReworkRecords] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[JobId] int NOT NULL,
|
|
[JobItemId] int NULL,
|
|
[ReworkJobId] int NULL,
|
|
[ReworkType] int NOT NULL,
|
|
[Reason] int NOT NULL,
|
|
[DefectDescription] nvarchar(max) NOT NULL,
|
|
[DiscoveredBy] int NOT NULL,
|
|
[DiscoveredDate] datetime2 NOT NULL,
|
|
[ReportedByName] nvarchar(max) NULL,
|
|
[EstimatedReworkCost] decimal(18,2) NOT NULL,
|
|
[ActualReworkCost] decimal(18,2) NOT NULL,
|
|
[IsBillableToCustomer] bit NOT NULL,
|
|
[BillingNotes] nvarchar(max) NULL,
|
|
[Status] int NOT NULL,
|
|
[Resolution] int NULL,
|
|
[ResolvedDate] datetime2 NULL,
|
|
[ResolutionNotes] nvarchar(max) NULL,
|
|
[CompanyId] int 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_ReworkRecords] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_ReworkRecords_JobItems_JobItemId] FOREIGN KEY ([JobItemId]) REFERENCES [JobItems] ([Id]),
|
|
CONSTRAINT [FK_ReworkRecords_Jobs_JobId] FOREIGN KEY ([JobId]) REFERENCES [Jobs] ([Id]) ON DELETE NO ACTION,
|
|
CONSTRAINT [FK_ReworkRecords_Jobs_ReworkJobId] FOREIGN KEY ([ReworkJobId]) REFERENCES [Jobs] ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:42:32.9092998Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:42:32.9093003Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T13:42:32.9093005Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_Jobs_OriginalJobId] ON [Jobs] ([OriginalJobId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_ReworkRecords_JobId] ON [ReworkRecords] ([JobId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_ReworkRecords_JobItemId] ON [ReworkRecords] ([JobItemId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_ReworkRecords_ReworkJobId] ON [ReworkRecords] ([ReworkJobId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Jobs] ADD CONSTRAINT [FK_Jobs_Jobs_OriginalJobId] FOREIGN KEY ([OriginalJobId]) REFERENCES [Jobs] ([Id]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318134236_AddReworkTracking'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260318134236_AddReworkTracking', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Invoices] ADD [CreditApplied] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Customers] ADD [CreditBalance] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [CreditMemos] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[MemoNumber] nvarchar(450) NOT NULL,
|
|
[CustomerId] int NOT NULL,
|
|
[OriginalInvoiceId] int NULL,
|
|
[ReworkRecordId] int NULL,
|
|
[Amount] decimal(18,2) NOT NULL,
|
|
[AmountApplied] decimal(18,2) NOT NULL,
|
|
[IssueDate] datetime2 NOT NULL,
|
|
[ExpiryDate] datetime2 NULL,
|
|
[Reason] nvarchar(max) NOT NULL,
|
|
[Notes] nvarchar(max) NULL,
|
|
[Status] int NOT NULL,
|
|
[IssuedById] nvarchar(450) NULL,
|
|
[CompanyId] int 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_CreditMemos] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_CreditMemos_AspNetUsers_IssuedById] FOREIGN KEY ([IssuedById]) REFERENCES [AspNetUsers] ([Id]),
|
|
CONSTRAINT [FK_CreditMemos_Customers_CustomerId] FOREIGN KEY ([CustomerId]) REFERENCES [Customers] ([Id]) ON DELETE NO ACTION,
|
|
CONSTRAINT [FK_CreditMemos_Invoices_OriginalInvoiceId] FOREIGN KEY ([OriginalInvoiceId]) REFERENCES [Invoices] ([Id]),
|
|
CONSTRAINT [FK_CreditMemos_ReworkRecords_ReworkRecordId] FOREIGN KEY ([ReworkRecordId]) REFERENCES [ReworkRecords] ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [Refunds] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[InvoiceId] int NOT NULL,
|
|
[PaymentId] int NULL,
|
|
[Amount] decimal(18,2) NOT NULL,
|
|
[RefundDate] datetime2 NOT NULL,
|
|
[RefundMethod] int NOT NULL,
|
|
[Reason] nvarchar(max) NOT NULL,
|
|
[Reference] nvarchar(max) NULL,
|
|
[Notes] nvarchar(max) NULL,
|
|
[Status] int NOT NULL,
|
|
[IssuedDate] datetime2 NULL,
|
|
[IssuedById] nvarchar(450) NULL,
|
|
[CompanyId] int 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_Refunds] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_Refunds_AspNetUsers_IssuedById] FOREIGN KEY ([IssuedById]) REFERENCES [AspNetUsers] ([Id]),
|
|
CONSTRAINT [FK_Refunds_Invoices_InvoiceId] FOREIGN KEY ([InvoiceId]) REFERENCES [Invoices] ([Id]) ON DELETE NO ACTION,
|
|
CONSTRAINT [FK_Refunds_Payments_PaymentId] FOREIGN KEY ([PaymentId]) REFERENCES [Payments] ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [CreditMemoApplications] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[CreditMemoId] int NOT NULL,
|
|
[InvoiceId] int NOT NULL,
|
|
[AmountApplied] decimal(18,2) NOT NULL,
|
|
[AppliedDate] datetime2 NOT NULL,
|
|
[AppliedById] nvarchar(450) NULL,
|
|
[CompanyId] int 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_CreditMemoApplications] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_CreditMemoApplications_AspNetUsers_AppliedById] FOREIGN KEY ([AppliedById]) REFERENCES [AspNetUsers] ([Id]),
|
|
CONSTRAINT [FK_CreditMemoApplications_CreditMemos_CreditMemoId] FOREIGN KEY ([CreditMemoId]) REFERENCES [CreditMemos] ([Id]) ON DELETE NO ACTION,
|
|
CONSTRAINT [FK_CreditMemoApplications_Invoices_InvoiceId] FOREIGN KEY ([InvoiceId]) REFERENCES [Invoices] ([Id]) ON DELETE NO ACTION
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T22:26:44.9349567Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T22:26:44.9349573Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-18T22:26:44.9349575Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemoApplications_AppliedById] ON [CreditMemoApplications] ([AppliedById]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemoApplications_CreditMemoId] ON [CreditMemoApplications] ([CreditMemoId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemoApplications_InvoiceId] ON [CreditMemoApplications] ([InvoiceId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE INDEX [IX_CreditMemos_CompanyId_MemoNumber] ON [CreditMemos] ([CompanyId], [MemoNumber]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemos_CustomerId] ON [CreditMemos] ([CustomerId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemos_IssuedById] ON [CreditMemos] ([IssuedById]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemos_OriginalInvoiceId] ON [CreditMemos] ([OriginalInvoiceId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_CreditMemos_ReworkRecordId] ON [CreditMemos] ([ReworkRecordId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_Refunds_InvoiceId] ON [Refunds] ([InvoiceId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_Refunds_IssuedById] ON [Refunds] ([IssuedById]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_Refunds_PaymentId] ON [Refunds] ([PaymentId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260318222648_AddRefundsAndCreditMemos'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260318222648_AddRefundsAndCreditMemos', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [JobTemplates] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[Name] nvarchar(max) NOT NULL,
|
|
[Description] nvarchar(max) NULL,
|
|
[CustomerId] int NULL,
|
|
[SpecialInstructions] nvarchar(max) NULL,
|
|
[IsActive] bit NOT NULL,
|
|
[UsageCount] int NOT NULL,
|
|
[CompanyId] int 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_JobTemplates] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_JobTemplates_Customers_CustomerId] FOREIGN KEY ([CustomerId]) REFERENCES [Customers] ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [JobTemplateItems] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[JobTemplateId] int NOT NULL,
|
|
[Description] nvarchar(max) NOT NULL,
|
|
[Quantity] decimal(18,2) NOT NULL,
|
|
[SurfaceAreaSqFt] decimal(18,2) NOT NULL,
|
|
[CatalogItemId] int NULL,
|
|
[IsGenericItem] bit NOT NULL,
|
|
[IsLaborItem] bit NOT NULL,
|
|
[ManualUnitPrice] decimal(18,2) NULL,
|
|
[RequiresSandblasting] bit NOT NULL,
|
|
[RequiresMasking] bit NOT NULL,
|
|
[IncludePrepCost] bit NOT NULL,
|
|
[EstimatedMinutes] int NOT NULL,
|
|
[Complexity] nvarchar(max) NULL,
|
|
[Notes] nvarchar(max) NULL,
|
|
[DisplayOrder] int NOT NULL,
|
|
[CompanyId] int 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_JobTemplateItems] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_JobTemplateItems_CatalogItems_CatalogItemId] FOREIGN KEY ([CatalogItemId]) REFERENCES [CatalogItems] ([Id]),
|
|
CONSTRAINT [FK_JobTemplateItems_JobTemplates_JobTemplateId] FOREIGN KEY ([JobTemplateId]) REFERENCES [JobTemplates] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [JobTemplateItemCoats] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[JobTemplateItemId] int NOT NULL,
|
|
[CoatName] nvarchar(max) NOT NULL,
|
|
[Sequence] int NOT NULL,
|
|
[InventoryItemId] int NULL,
|
|
[ColorName] nvarchar(max) NULL,
|
|
[VendorId] int NULL,
|
|
[ColorCode] nvarchar(max) NULL,
|
|
[Finish] nvarchar(max) NULL,
|
|
[CoverageSqFtPerLb] decimal(18,2) NOT NULL,
|
|
[TransferEfficiency] decimal(18,2) NOT NULL,
|
|
[PowderCostPerLb] decimal(18,2) NULL,
|
|
[Notes] nvarchar(max) NULL,
|
|
[CompanyId] int 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_JobTemplateItemCoats] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_JobTemplateItemCoats_InventoryItems_InventoryItemId] FOREIGN KEY ([InventoryItemId]) REFERENCES [InventoryItems] ([Id]),
|
|
CONSTRAINT [FK_JobTemplateItemCoats_JobTemplateItems_JobTemplateItemId] FOREIGN KEY ([JobTemplateItemId]) REFERENCES [JobTemplateItems] ([Id]) ON DELETE CASCADE,
|
|
CONSTRAINT [FK_JobTemplateItemCoats_Vendors_VendorId] FOREIGN KEY ([VendorId]) REFERENCES [Vendors] ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [JobTemplateItemPrepServices] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[JobTemplateItemId] int NOT NULL,
|
|
[PrepServiceId] int NOT NULL,
|
|
[EstimatedMinutes] int NOT NULL,
|
|
[CompanyId] int 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_JobTemplateItemPrepServices] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_JobTemplateItemPrepServices_JobTemplateItems_JobTemplateItemId] FOREIGN KEY ([JobTemplateItemId]) REFERENCES [JobTemplateItems] ([Id]) ON DELETE CASCADE,
|
|
CONSTRAINT [FK_JobTemplateItemPrepServices_PrepServices_PrepServiceId] FOREIGN KEY ([PrepServiceId]) REFERENCES [PrepServices] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-19T02:38:23.4195291Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-19T02:38:23.4195296Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-19T02:38:23.4195298Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItemCoats_InventoryItemId] ON [JobTemplateItemCoats] ([InventoryItemId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItemCoats_JobTemplateItemId] ON [JobTemplateItemCoats] ([JobTemplateItemId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItemCoats_VendorId] ON [JobTemplateItemCoats] ([VendorId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItemPrepServices_JobTemplateItemId] ON [JobTemplateItemPrepServices] ([JobTemplateItemId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItemPrepServices_PrepServiceId] ON [JobTemplateItemPrepServices] ([PrepServiceId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItems_CatalogItemId] ON [JobTemplateItems] ([CatalogItemId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplateItems_JobTemplateId] ON [JobTemplateItems] ([JobTemplateId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_JobTemplates_CustomerId] ON [JobTemplates] ([CustomerId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319023827_AddJobTemplates'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260319023827_AddJobTemplates', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Invoices] ADD [GiftCertificateRedeemed] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [GiftCertificates] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[CertificateCode] nvarchar(max) NOT NULL,
|
|
[OriginalAmount] decimal(18,2) NOT NULL,
|
|
[RedeemedAmount] decimal(18,2) NOT NULL,
|
|
[RecipientCustomerId] int NULL,
|
|
[RecipientName] nvarchar(max) NULL,
|
|
[RecipientEmail] nvarchar(max) NULL,
|
|
[IssuedReason] int NOT NULL,
|
|
[PurchasePrice] decimal(18,2) NULL,
|
|
[PurchasingCustomerId] int NULL,
|
|
[Status] int NOT NULL,
|
|
[IssueDate] datetime2 NOT NULL,
|
|
[ExpiryDate] datetime2 NULL,
|
|
[Notes] nvarchar(max) NULL,
|
|
[IssuedById] nvarchar(450) NULL,
|
|
[CompanyId] int 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_GiftCertificates] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_GiftCertificates_AspNetUsers_IssuedById] FOREIGN KEY ([IssuedById]) REFERENCES [AspNetUsers] ([Id]),
|
|
CONSTRAINT [FK_GiftCertificates_Customers_PurchasingCustomerId] FOREIGN KEY ([PurchasingCustomerId]) REFERENCES [Customers] ([Id]),
|
|
CONSTRAINT [FK_GiftCertificates_Customers_RecipientCustomerId] FOREIGN KEY ([RecipientCustomerId]) REFERENCES [Customers] ([Id])
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE TABLE [GiftCertificateRedemptions] (
|
|
[Id] int NOT NULL IDENTITY,
|
|
[GiftCertificateId] int NOT NULL,
|
|
[InvoiceId] int NOT NULL,
|
|
[AmountRedeemed] decimal(18,2) NOT NULL,
|
|
[RedeemedDate] datetime2 NOT NULL,
|
|
[RedeemedById] nvarchar(450) NULL,
|
|
[CompanyId] int 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_GiftCertificateRedemptions] PRIMARY KEY ([Id]),
|
|
CONSTRAINT [FK_GiftCertificateRedemptions_AspNetUsers_RedeemedById] FOREIGN KEY ([RedeemedById]) REFERENCES [AspNetUsers] ([Id]),
|
|
CONSTRAINT [FK_GiftCertificateRedemptions_GiftCertificates_GiftCertificateId] FOREIGN KEY ([GiftCertificateId]) REFERENCES [GiftCertificates] ([Id]) ON DELETE CASCADE,
|
|
CONSTRAINT [FK_GiftCertificateRedemptions_Invoices_InvoiceId] FOREIGN KEY ([InvoiceId]) REFERENCES [Invoices] ([Id]) ON DELETE CASCADE
|
|
);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-19T15:45:03.1454465Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-19T15:45:03.1454472Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-19T15:45:03.1454474Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_GiftCertificateRedemptions_GiftCertificateId] ON [GiftCertificateRedemptions] ([GiftCertificateId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_GiftCertificateRedemptions_InvoiceId] ON [GiftCertificateRedemptions] ([InvoiceId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_GiftCertificateRedemptions_RedeemedById] ON [GiftCertificateRedemptions] ([RedeemedById]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_GiftCertificates_IssuedById] ON [GiftCertificates] ([IssuedById]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_GiftCertificates_PurchasingCustomerId] ON [GiftCertificates] ([PurchasingCustomerId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_GiftCertificates_RecipientCustomerId] ON [GiftCertificates] ([RecipientCustomerId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260319154506_AddGiftCertificates'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260319154506_AddGiftCertificates', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Refunds] ADD [CreditMemoId] int NULL;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T00:24:47.3611509Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T00:24:47.3611518Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T00:24:47.3611521Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
CREATE INDEX [IX_Refunds_CreditMemoId] ON [Refunds] ([CreditMemoId]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Refunds] ADD CONSTRAINT [FK_Refunds_CreditMemos_CreditMemoId] FOREIGN KEY ([CreditMemoId]) REFERENCES [CreditMemos] ([Id]);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320002450_AddRefundStoreCreditLink'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260320002450_AddRefundStoreCreditLink', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320005106_AddQuoteItemIsAiItem'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [QuoteItems] ADD [IsAiItem] bit NOT NULL DEFAULT CAST(0 AS bit);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320005106_AddQuoteItemIsAiItem'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T00:51:03.2423766Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320005106_AddQuoteItemIsAiItem'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T00:51:03.2423772Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320005106_AddQuoteItemIsAiItem'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T00:51:03.2423774Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320005106_AddQuoteItemIsAiItem'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260320005106_AddQuoteItemIsAiItem', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|
|
BEGIN TRANSACTION;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [ItemsSubtotal] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [OvenBatchCost] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [OverheadAmount] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [OverheadPercent] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [ProfitMargin] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [ProfitPercent] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [ShopSuppliesAmount] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE [Quotes] ADD [ShopSuppliesPercent] decimal(18,2) NOT NULL DEFAULT 0.0;
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T01:10:54.1468159Z''
|
|
WHERE [Id] = 1;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T01:10:54.1468166Z''
|
|
WHERE [Id] = 2;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
EXEC(N'UPDATE [PricingTiers] SET [CreatedAt] = ''2026-03-20T01:10:54.1468176Z''
|
|
WHERE [Id] = 3;
|
|
SELECT @@ROWCOUNT');
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS (
|
|
SELECT * FROM [__EFMigrationsHistory]
|
|
WHERE [MigrationId] = N'20260320011057_AddQuotePricingSnapshot'
|
|
)
|
|
BEGIN
|
|
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
|
|
VALUES (N'20260320011057_AddQuotePricingSnapshot', N'8.0.11');
|
|
END;
|
|
GO
|
|
|
|
COMMIT;
|
|
GO
|
|
|