using Microsoft.EntityFrameworkCore;
using ControlCenter.Api.Entities;
namespace ControlCenter.Api.Data;
///
/// Design-time factory for AppDbContext, used by EF Core tools (dotnet ef)
/// to create migrations without requiring a running application.
///
public class AppDbContextFactory : Microsoft.EntityFrameworkCore.Design.IDesignTimeDbContextFactory
{
public AppDbContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder();
// Connection string for design-time operations (migrations).
// In production, this comes from appsettings / environment variables.
var connectionString = "Host=localhost;Database=control_center;Username=postgres;Password=postgres";
optionsBuilder.UseNpgsql(connectionString, npgsqlOptions =>
{
npgsqlOptions.MigrationsAssembly(typeof(AppDbContext).Assembly.FullName);
});
return new AppDbContext(optionsBuilder.Options);
}
}