0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-29 18:21:08 +00:00

fix: Use correct connection string

This commit is contained in:
alex289 2024-11-14 22:15:14 +01:00
parent 2a048b682a
commit d9ae278caf
No known key found for this signature in database
GPG Key ID: 573F77CD2D87F863
3 changed files with 28 additions and 22 deletions

View File

@ -12,7 +12,6 @@ using HealthChecks.UI.Client;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
@ -31,32 +30,41 @@ builder.Services
.AddDbContextCheck<ApplicationDbContext>()
.AddApplicationStatus();
var isAspire = builder.Configuration["ASPIRE_ENABLED"] == "true";
var rabbitHost = builder.Configuration["RabbitMQ:Host"];
var rabbitPort = builder.Configuration["RabbitMQ:Port"];
var rabbitUser = builder.Configuration["RabbitMQ:Username"];
var rabbitPass = builder.Configuration["RabbitMQ:Password"];
var rabbitConnectionString =
isAspire ? builder.Configuration["ConnectionStrings:RabbitMq"] :
$"amqp://{rabbitUser}:{rabbitPass}@{rabbitHost}:{rabbitPort}";
var redisConnectionString = isAspire ? builder.Configuration["ConnectionStrings:Redis"] : builder.Configuration["RedisHostName"];
var dbConnectionString = isAspire ? builder.Configuration["ConnectionStrings:Database"] : builder.Configuration["ConnectionStrings:DefaultConnection"];
if (builder.Environment.IsProduction())
{
var rabbitHost = builder.Configuration["RabbitMQ:Host"];
var rabbitPort = builder.Configuration["RabbitMQ:Port"];
var rabbitUser = builder.Configuration["RabbitMQ:Username"];
var rabbitPass = builder.Configuration["RabbitMQ:Password"];
builder.Services
.AddHealthChecks()
.AddSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")!)
.AddRedis(builder.Configuration["RedisHostName"]!, "Redis")
.AddSqlServer(dbConnectionString!)
.AddRedis(redisConnectionString!, "Redis")
.AddRabbitMQ(
$"amqp://{rabbitUser}:{rabbitPass}@{rabbitHost}:{rabbitPort}",
rabbitConnectionString!,
name: "RabbitMQ");
}
builder.Services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseLazyLoadingProxies();
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"),
options.UseSqlServer(dbConnectionString,
b => b.MigrationsAssembly("CleanArchitecture.Infrastructure"));
});
builder.Services.AddSwagger();
builder.Services.AddAuth(builder.Configuration);
builder.Services.AddInfrastructure(builder.Configuration, "CleanArchitecture.Infrastructure");
builder.Services.AddInfrastructure("CleanArchitecture.Infrastructure", dbConnectionString!);
builder.Services.AddQueryHandlers();
builder.Services.AddServices();
builder.Services.AddSortProviders();
@ -76,11 +84,11 @@ builder.Services.AddLogging(x => x.AddSimpleConsole(console =>
console.IncludeScopes = true;
}));
if (builder.Environment.IsProduction() || !string.IsNullOrWhiteSpace(builder.Configuration["RedisHostName"]))
if (builder.Environment.IsProduction() || !string.IsNullOrWhiteSpace(redisConnectionString))
{
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = builder.Configuration["RedisHostName"];
options.Configuration = redisConnectionString;
options.InstanceName = "clean-architecture";
});
}

View File

@ -11,16 +11,16 @@ var rabbitMq = builder
.WithManagementPlugin();
var sqlServer = builder.AddSqlServer("SqlServer");
var db = sqlServer.AddDatabase("Database", "clean-architecture");
builder.AddProject<Projects.CleanArchitecture_Api>("CleanArchitecture.Api")
.WithHttpsEndpoint(17270)
.WithHealthCheck("Api Health")
builder.AddProject<Projects.CleanArchitecture_Api>("CleanArchitecture-Api")
//.WithHealthCheck("Api Health")
.WithOtlpExporter()
.WithReference(redis)
.WaitFor(redis)
.WithReference(rabbitMq)
.WaitFor(rabbitMq)
.WithReference(sqlServer)
.WithReference(db)
.WaitFor(sqlServer);
builder.Build().Run();

View File

@ -7,7 +7,6 @@ using CleanArchitecture.Infrastructure.EventSourcing;
using CleanArchitecture.Infrastructure.Repositories;
using MediatR;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace CleanArchitecture.Infrastructure.Extensions;
@ -16,16 +15,15 @@ public static class ServiceCollectionExtensions
{
public static IServiceCollection AddInfrastructure(
this IServiceCollection services,
IConfiguration configuration,
string migrationsAssemblyName,
string connectionStringName = "DefaultConnection")
string connectionString)
{
// Add event store db context
services.AddDbContext<EventStoreDbContext>(
options =>
{
options.UseSqlServer(
configuration.GetConnectionString(connectionStringName),
connectionString,
b => b.MigrationsAssembly(migrationsAssemblyName));
});
@ -33,7 +31,7 @@ public static class ServiceCollectionExtensions
options =>
{
options.UseSqlServer(
configuration.GetConnectionString(connectionStringName),
connectionString,
b => b.MigrationsAssembly(migrationsAssemblyName));
});