Skip to content

Commit 204ab9e

Browse files
authored
Merge pull request #2098 from microting/feat/ef-migration-helm-job
fix: guard ConfigureDbContext() Migrate() with IHistoryRepository (Galera-safe)
2 parents 6b8d3e7 + 69c25cc commit 204ab9e

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

eFormAPI/Plugins/ItemsPlanning.Pn/ItemsPlanning.Pn/EformItemsPlanningPlugin.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ namespace ItemsPlanning.Pn
4545
using Services.ItemsPlanningTagsService;
4646
using Microsoft.AspNetCore.Builder;
4747
using Microsoft.EntityFrameworkCore;
48+
using Microsoft.EntityFrameworkCore.Infrastructure;
49+
using Microsoft.EntityFrameworkCore.Migrations;
4850
using Microsoft.Extensions.Configuration;
4951
using Microsoft.Extensions.DependencyInjection;
5052
using Microting.eFormApi.BasePn;
@@ -173,7 +175,11 @@ public void ConfigureDbContext(IServiceCollection services, string connectionStr
173175

174176
ItemsPlanningPnContextFactory contextFactory = new ItemsPlanningPnContextFactory();
175177
var context = contextFactory.CreateDbContext(new[] { connectionString });
176-
context.Database.Migrate();
178+
var historyRepo = context.GetService<IHistoryRepository>();
179+
if (!historyRepo.Exists() || context.Database.GetPendingMigrations().Any())
180+
{
181+
context.Database.Migrate();
182+
}
177183

178184
// Seed database
179185
SeedDatabase(connectionString);

0 commit comments

Comments
 (0)