Skip to content

Commit 4ffb3a9

Browse files
authored
Merge pull request #1594 from microting/feat/ef-migration-helm-job
fix: guard ConfigureDbContext() Migrate() with IHistoryRepository (Galera-safe)
2 parents ac1fbd5 + 36cdc4e commit 4ffb3a9

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/EformTimePlanningPlugin.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ namespace TimePlanning.Pn;
5555
using Infrastructure.Models.Settings;
5656
using Microsoft.AspNetCore.Builder;
5757
using Microsoft.EntityFrameworkCore;
58+
using Microsoft.EntityFrameworkCore.Infrastructure;
59+
using Microsoft.EntityFrameworkCore.Migrations;
5860
using Microsoft.Extensions.Configuration;
5961
using Microsoft.Extensions.DependencyInjection;
6062
using Microting.eFormApi.BasePn;
@@ -189,7 +191,11 @@ public void ConfigureDbContext(IServiceCollection services, string connectionStr
189191
var contextFactory = new TimePlanningPnContextFactory();
190192
var context = contextFactory.CreateDbContext(new[] { connectionString });
191193
Console.WriteLine("Starting to migrate TimePlanningPnDbContext to latest version");
192-
context.Database.Migrate();
194+
var historyRepo = context.GetService<IHistoryRepository>();
195+
if (!historyRepo.Exists() || context.Database.GetPendingMigrations().Any())
196+
{
197+
context.Database.Migrate();
198+
}
193199
Console.WriteLine("TimePlanningPnDbContext migrated to latest version");
194200

195201
// Seed database

0 commit comments

Comments
 (0)