Четыре реплики при старте одновременно применяют миграции EF Core
using (var scope = app.Services.CreateScope())
scope.ServiceProvider.GetRequiredService<AppDbContext>().Database.Migrate();
Сервис разворачивается в четырёх репликах. Релизы с новой миграцией иногда падают: часть подов получает ошибку «relation already exists» или ждёт блокировку. Что изменить?
- Применять миграции отдельным шагом до выкатки
- Добавить случайную задержку перед Migrate()
- Вызывать EnsureCreated() вместо Migrate()
- Применять миграции только в поде с первым номером
