0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-30 02:31: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.Builder;
using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@ -31,32 +30,41 @@ builder.Services
.AddDbContextCheck<ApplicationDbContext>() .AddDbContextCheck<ApplicationDbContext>()
.AddApplicationStatus(); .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()) 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 builder.Services
.AddHealthChecks() .AddHealthChecks()
.AddSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")!) .AddSqlServer(dbConnectionString!)
.AddRedis(builder.Configuration["RedisHostName"]!, "Redis") .AddRedis(redisConnectionString!, "Redis")
.AddRabbitMQ( .AddRabbitMQ(
$"amqp://{rabbitUser}:{rabbitPass}@{rabbitHost}:{rabbitPort}", rabbitConnectionString!,
name: "RabbitMQ"); name: "RabbitMQ");
} }
builder.Services.AddDbContext<ApplicationDbContext>(options => builder.Services.AddDbContext<ApplicationDbContext>(options =>
{ {
options.UseLazyLoadingProxies(); options.UseLazyLoadingProxies();
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"), options.UseSqlServer(dbConnectionString,
b => b.MigrationsAssembly("CleanArchitecture.Infrastructure")); b => b.MigrationsAssembly("CleanArchitecture.Infrastructure"));
}); });
builder.Services.AddSwagger(); builder.Services.AddSwagger();
builder.Services.AddAuth(builder.Configuration); builder.Services.AddAuth(builder.Configuration);
builder.Services.AddInfrastructure(builder.Configuration, "CleanArchitecture.Infrastructure"); builder.Services.AddInfrastructure("CleanArchitecture.Infrastructure", dbConnectionString!);
builder.Services.AddQueryHandlers(); builder.Services.AddQueryHandlers();
builder.Services.AddServices(); builder.Services.AddServices();
builder.Services.AddSortProviders(); builder.Services.AddSortProviders();
@ -76,11 +84,11 @@ builder.Services.AddLogging(x => x.AddSimpleConsole(console =>
console.IncludeScopes = true; console.IncludeScopes = true;
})); }));
if (builder.Environment.IsProduction() || !string.IsNullOrWhiteSpace(builder.Configuration["RedisHostName"])) if (builder.Environment.IsProduction() || !string.IsNullOrWhiteSpace(redisConnectionString))
{ {
builder.Services.AddStackExchangeRedisCache(options => builder.Services.AddStackExchangeRedisCache(options =>
{ {
options.Configuration = builder.Configuration["RedisHostName"]; options.Configuration = redisConnectionString;
options.InstanceName = "clean-architecture"; options.InstanceName = "clean-architecture";
}); });
} }

View File

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

View File

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