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); } }