diff --git a/VigilCareClinicalAPI/Data/AppDbContextFactory.cs b/VigilCareClinicalAPI/Data/AppDbContextFactory.cs new file mode 100644 index 0000000..25deaca --- /dev/null +++ b/VigilCareClinicalAPI/Data/AppDbContextFactory.cs @@ -0,0 +1,23 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Design; + +/// +/// Creates for EF tools and migration bundles without +/// running Program.cs (JWT and other runtime config are not available there). +/// ./migrate-api --connection still overrides the connection at apply time. +/// +public sealed class AppDbContextFactory : IDesignTimeDbContextFactory +{ + public AppDbContext CreateDbContext(string[] args) + { + var connectionString = + Environment.GetEnvironmentVariable("ConnectionStrings__DefaultConnection") + ?? "Host=127.0.0.1;Database=vigilcare;Username=postgres;Password=postgres"; + + var options = new DbContextOptionsBuilder() + .UseNpgsql(connectionString) + .Options; + + return new AppDbContext(options); + } +} diff --git a/VigilCareClinicalAPI/VigilCareClinicalAPI.csproj b/VigilCareClinicalAPI/VigilCareClinicalAPI.csproj index fd16237..777f711 100644 --- a/VigilCareClinicalAPI/VigilCareClinicalAPI.csproj +++ b/VigilCareClinicalAPI/VigilCareClinicalAPI.csproj @@ -24,6 +24,10 @@ + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + runtime; build; native; contentfiles; analyzers; buildtransitive all