From 00f40c2568432ef02e55aab6c081b70d844ba46b Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Mon, 28 Jul 2025 20:18:08 +0000 Subject: [PATCH] fix migrations for new databases (#2217) --- .../Services/RunOnce/DatabaseMigratorService.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs b/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs index 208a10d1..96816770 100644 --- a/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs +++ b/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs @@ -40,15 +40,19 @@ public class DatabaseMigratorService : BackgroundService await dbContext.Database.MigrateAsync("Add_MediaFilePathHash", stoppingToken); } - // this can't be part of a migration, so we have to stop here and run some sql - await PopulatePathHashes(dbContext); + List appliedMigrations = await dbContext.Database + .GetAppliedMigrationsAsync(stoppingToken) + .Map(l => l.ToList()); - // then continue migrating - if (pendingMigrations.Count > 0) + if (appliedMigrations.Count > 0) { - await dbContext.Database.MigrateAsync(stoppingToken); + // this can't be part of a migration, so we have to stop here and run some sql + await PopulatePathHashes(dbContext); } + // then continue migrating + await dbContext.Database.MigrateAsync(stoppingToken); + await DbInitializer.Initialize(dbContext, stoppingToken); _systemStartup.DatabaseIsReady();