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();