using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; namespace Vanguard.Server.Storage; /// /// Контекст для `dotnet ef`. EF не поднимает всё приложение: берёт фабрику /// и генерирует миграцию по модели. Строка подключения нужна только /// для выбора провайдера. /// public sealed class MatchDbContextDesignFactory : IDesignTimeDbContextFactory { public MatchDbContext CreateDbContext(string[] args) { var connection = Environment.GetEnvironmentVariable("VANGUARD_DESIGN_CONNECTION") ?? "Host=localhost;Database=vanguard;Username=vanguard;Password=vanguard"; var options = new DbContextOptionsBuilder() .UseNpgsql(connection) .Options; return new MatchDbContext(options); } }