From 2e66d402480efc736962854bb456834c3f735e4b Mon Sep 17 00:00:00 2001 From: trent Date: Mon, 10 Aug 2026 17:40:09 +0800 Subject: [PATCH] Fix issue with Unable to create a 'DbContext' of type 'AppDbContext' --- .../Data/AppDbContextFactory.cs | 23 +++++++++++++++++++ .../VigilCareClinicalAPI.csproj | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 VigilCareClinicalAPI/Data/AppDbContextFactory.cs 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