using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; using System.IO; namespace ComplianceNFs.Infrastructure.Repositories { public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory { public ComplianceNFsDbContext CreateDbContext(string[] args) { // Build config to read connection string from appsettings.json var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true) .Build(); var connectionString = config["PostgresConnectionString"] ?? "Host=localhost;Database=compliancenfs;Username=postgres;Password=postgres"; var optionsBuilder = new DbContextOptionsBuilder(); optionsBuilder.UseNpgsql(connectionString); return new ComplianceNFsDbContext(optionsBuilder.Options); } } }