28 lines
1.0 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using System.IO;
namespace ComplianceNFs.Infrastructure.Repositories
{
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<ComplianceNFsDbContext>
{
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<ComplianceNFsDbContext>();
optionsBuilder.UseNpgsql(connectionString);
return new ComplianceNFsDbContext(optionsBuilder.Options);
}
}
}