Sync master back to dev (IF EXISTS migration hotfix)

This commit is contained in:
2026-05-19 18:24:39 -04:00
@@ -11,47 +11,32 @@ namespace PowderCoating.Infrastructure.Migrations
/// <inheritdoc /> /// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.DropForeignKey( // Use IF EXISTS guards for all ShopWorker drops — prod and dev diverged on whether
name: "FK_Jobs_ShopWorkers_ShopWorkerId", // these objects exist, so unconditional drops would fail on whichever DB is missing them.
table: "Jobs"); migrationBuilder.Sql(@"
IF EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = 'FK_Jobs_ShopWorkers_ShopWorkerId')
migrationBuilder.DropForeignKey( ALTER TABLE [Jobs] DROP CONSTRAINT [FK_Jobs_ShopWorkers_ShopWorkerId];
name: "FK_JobTimeEntries_ShopWorkers_ShopWorkerId", IF EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = 'FK_JobTimeEntries_ShopWorkers_ShopWorkerId')
table: "JobTimeEntries"); ALTER TABLE [JobTimeEntries] DROP CONSTRAINT [FK_JobTimeEntries_ShopWorkers_ShopWorkerId];
IF EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = 'FK_MaintenanceRecords_ShopWorkers_ShopWorkerId')
migrationBuilder.DropForeignKey( ALTER TABLE [MaintenanceRecords] DROP CONSTRAINT [FK_MaintenanceRecords_ShopWorkers_ShopWorkerId];
name: "FK_MaintenanceRecords_ShopWorkers_ShopWorkerId", IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'ShopWorkerRoleCosts')
table: "MaintenanceRecords"); DROP TABLE [ShopWorkerRoleCosts];
IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'ShopWorkers')
migrationBuilder.DropTable( DROP TABLE [ShopWorkers];
name: "ShopWorkerRoleCosts"); IF EXISTS (SELECT 1 FROM sys.indexes WHERE name = 'IX_MaintenanceRecords_ShopWorkerId' AND object_id = OBJECT_ID('MaintenanceRecords'))
DROP INDEX [IX_MaintenanceRecords_ShopWorkerId] ON [MaintenanceRecords];
migrationBuilder.DropTable( IF EXISTS (SELECT 1 FROM sys.indexes WHERE name = 'IX_JobTimeEntries_ShopWorkerId' AND object_id = OBJECT_ID('JobTimeEntries'))
name: "ShopWorkers"); DROP INDEX [IX_JobTimeEntries_ShopWorkerId] ON [JobTimeEntries];
IF EXISTS (SELECT 1 FROM sys.indexes WHERE name = 'IX_Jobs_ShopWorkerId' AND object_id = OBJECT_ID('Jobs'))
migrationBuilder.DropIndex( DROP INDEX [IX_Jobs_ShopWorkerId] ON [Jobs];
name: "IX_MaintenanceRecords_ShopWorkerId", IF EXISTS (SELECT 1 FROM sys.columns WHERE name = 'ShopWorkerId' AND object_id = OBJECT_ID('MaintenanceRecords'))
table: "MaintenanceRecords"); ALTER TABLE [MaintenanceRecords] DROP COLUMN [ShopWorkerId];
IF EXISTS (SELECT 1 FROM sys.columns WHERE name = 'ShopWorkerId' AND object_id = OBJECT_ID('JobTimeEntries'))
migrationBuilder.DropIndex( ALTER TABLE [JobTimeEntries] DROP COLUMN [ShopWorkerId];
name: "IX_JobTimeEntries_ShopWorkerId", IF EXISTS (SELECT 1 FROM sys.columns WHERE name = 'ShopWorkerId' AND object_id = OBJECT_ID('Jobs'))
table: "JobTimeEntries"); ALTER TABLE [Jobs] DROP COLUMN [ShopWorkerId];
");
migrationBuilder.DropIndex(
name: "IX_Jobs_ShopWorkerId",
table: "Jobs");
migrationBuilder.DropColumn(
name: "ShopWorkerId",
table: "MaintenanceRecords");
migrationBuilder.DropColumn(
name: "ShopWorkerId",
table: "JobTimeEntries");
migrationBuilder.DropColumn(
name: "ShopWorkerId",
table: "Jobs");
migrationBuilder.AddColumn<DateTime>( migrationBuilder.AddColumn<DateTime>(
name: "ReminderSentAt", name: "ReminderSentAt",