feat: add in-memory database support via appsettings UseInMemoryDb flag
- Introduced conditional EF Core configuration to support InMemoryDatabase for testing or lightweight runs. - Added `UseInMemoryDb` config flag read from appsettings. - Retained SQL Server as the default when the flag is false. - Added missing Quartz namespace import.
This commit is contained in:
parent
b5cd42b6fa
commit
4997f7d75c
@ -8,8 +8,11 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.10" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.10" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.10" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
|
||||||
|
<PackageReference Include="Quartz" Version="3.15.1" />
|
||||||
|
<PackageReference Include="Quartz.Extensions.Hosting" Version="3.15.1" />
|
||||||
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
|
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
|
||||||
<PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" />
|
<PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
||||||
|
|||||||
@ -6,6 +6,7 @@ using EnvelopeGenerator.Infrastructure;
|
|||||||
using MediatR;
|
using MediatR;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
using Quartz;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
|
|
||||||
// Load Serilog from appsettings.json
|
// Load Serilog from appsettings.json
|
||||||
@ -58,8 +59,9 @@ try
|
|||||||
opt.AddDbContext((provider, options) =>
|
opt.AddDbContext((provider, options) =>
|
||||||
{
|
{
|
||||||
var logger = provider.GetRequiredService<ILogger<EGDbContext>>();
|
var logger = provider.GetRequiredService<ILogger<EGDbContext>>();
|
||||||
options.UseSqlServer(connStr)
|
var useInMemoryDb = config.GetValue<bool>("UseInMemoryDb");
|
||||||
.LogTo(log => logger.LogInformation("{log}", log), LogLevel.Trace)
|
var dbCtxOpt = useInMemoryDb ? options.UseInMemoryDatabase("EGInMemoryDb") : options.UseSqlServer(connStr);
|
||||||
|
dbCtxOpt.LogTo(log => logger.LogInformation("{log}", log), LogLevel.Trace)
|
||||||
.EnableSensitiveDataLogging()
|
.EnableSensitiveDataLogging()
|
||||||
.EnableDetailedErrors();
|
.EnableDetailedErrors();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -17,5 +17,6 @@
|
|||||||
"EnvelopeReceiverReadOnly": [ "TBSIG_ENVELOPE_RECEIVER_READ_ONLY_UPD" ],
|
"EnvelopeReceiverReadOnly": [ "TBSIG_ENVELOPE_RECEIVER_READ_ONLY_UPD" ],
|
||||||
"Receiver": [],
|
"Receiver": [],
|
||||||
"EmailTemplate": [ "TBSIG_EMAIL_TEMPLATE_AFT_UPD" ]
|
"EmailTemplate": [ "TBSIG_EMAIL_TEMPLATE_AFT_UPD" ]
|
||||||
}
|
},
|
||||||
|
"UseInMemoryDb": true
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user