refactor: 连接串全部回归 Host appsettings 管理,模块零拼接

- Host appsettings 配各模块完整连接串(Default/File/Im/Workflow)
- 模块 Infrastructure 只 GetConnectionString 读自己的 key,不做任何拼接
- 删除 baseConn/Database=xxx 拼接逻辑
- build 0/0
This commit is contained in:
xiangning 2026-07-02 14:25:03 +08:00
parent 44927e651e
commit 6649272772
5 changed files with 12 additions and 18 deletions

View File

@ -18,7 +18,10 @@
}, },
"AllowedHosts": "*", "AllowedHosts": "*",
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Host=43.134.235.58;Port=15432;Username=rag;Password=REDACTED_PG_PASSWORD", "Default": "Host=43.134.235.58;Port=15432;Database=rag;Username=rag;Password=REDACTED_PG_PASSWORD",
"File": "Host=43.134.235.58;Port=15432;Database=file_system;Username=rag;Password=REDACTED_PG_PASSWORD",
"Im": "Host=43.134.235.58;Port=15432;Database=im_system;Username=rag;Password=REDACTED_PG_PASSWORD",
"Workflow": "Host=43.134.235.58;Port=15432;Database=workflow;Username=rag;Password=REDACTED_PG_PASSWORD",
"MongoDb": "mongodb://rag:CHANGE_ME@43.134.235.58:27017/im_system?authSource=admin", "MongoDb": "mongodb://rag:CHANGE_ME@43.134.235.58:27017/im_system?authSource=admin",
"Redis": "43.134.235.58:16379,password=REDACTED_REDIS_PASSWORD,abortConnect=false" "Redis": "43.134.235.58:16379,password=REDACTED_REDIS_PASSWORD,abortConnect=false"
}, },

View File

@ -21,11 +21,9 @@ public class FileInfrastructureModule : AbpModule
var services = context.Services; var services = context.Services;
var config = services.GetConfiguration(); var config = services.GetConfiguration();
// DbContext 挂载审计拦截器,统一从 Default 连接串派生(替换 Database 名) // DbContext 挂载审计拦截器;连接串由 Host appsettings 的 ConnectionStrings:File 提供
var baseConn = config.GetConnectionString("Default")!;
var fsConn = $"{baseConn};Database=file_system";
services.AddDbContext<FileDbContext>((sp, options) => services.AddDbContext<FileDbContext>((sp, options) =>
options.UseNpgsql(fsConn) options.UseNpgsql(config.GetConnectionString("File")!)
.AddInterceptors(sp.GetRequiredService<AuditInterceptor>())); .AddInterceptors(sp.GetRequiredService<AuditInterceptor>()));
// Scoped 生命周期:每个 HTTP 请求创建一个拦截器实例,确保 ICurrentUserContext 正确获取当前用户 // Scoped 生命周期:每个 HTTP 请求创建一个拦截器实例,确保 ICurrentUserContext 正确获取当前用户

View File

@ -23,11 +23,9 @@ public class IMInfrastructureModule : AbpModule
var services = context.Services; var services = context.Services;
var config = services.GetConfiguration(); var config = services.GetConfiguration();
// PostgreSQL:会话/参与者/群组/群成员。统一从 Default 连接串派生(替换 Database 名) // PostgreSQL:会话/参与者/群组/群成员。连接串由 Host appsettings 的 ConnectionStrings:Im 提供
var baseConn = config.GetConnectionString("Default")!;
var imConn = $"{baseConn};Database=im_system";
services.AddDbContext<ImDbContext>((sp, options) => services.AddDbContext<ImDbContext>((sp, options) =>
options.UseNpgsql(imConn) options.UseNpgsql(config.GetConnectionString("Im")!)
.AddInterceptors(sp.GetRequiredService<AuditInterceptor>())); .AddInterceptors(sp.GetRequiredService<AuditInterceptor>()));
services.AddScoped<AuditInterceptor>(); services.AddScoped<AuditInterceptor>();

View File

@ -26,12 +26,9 @@ public class RAGInfrastructureModule : AbpModule
var services = context.Services; var services = context.Services;
var config = services.GetConfiguration(); var config = services.GetConfiguration();
// DbContext 挂载审计拦截器,拦截器从 DI 容器解析 ICurrentUserContext // DbContext 挂载审计拦截器;连接串由 Host appsettings 的 ConnectionStrings:Default 提供
// 统一从 Default 连接串派生(替换 Database 名),改一处连接信息全模块生效
var baseConn = config.GetConnectionString("Default")!;
var ragConn = $"{baseConn};Database=rag";
services.AddDbContext<RagDbContext>((sp, options) => services.AddDbContext<RagDbContext>((sp, options) =>
options.UseNpgsql(ragConn, o => o.UseVector()) options.UseNpgsql(config.GetConnectionString("Default")!, o => o.UseVector())
.AddInterceptors(sp.GetRequiredService<AuditInterceptor>())); .AddInterceptors(sp.GetRequiredService<AuditInterceptor>()));
// Scoped 生命周期:每个 HTTP 请求创建一个拦截器实例,确保 ICurrentUserContext 正确获取当前用户 // Scoped 生命周期:每个 HTTP 请求创建一个拦截器实例,确保 ICurrentUserContext 正确获取当前用户

View File

@ -19,12 +19,10 @@ public class WorkflowInfrastructureModule : AbpModule
var services = context.Services; var services = context.Services;
var config = services.GetConfiguration(); var config = services.GetConfiguration();
// 统一从 Default 连接串派生(替换 Database 名) // 连接串由 Host appsettings 的 ConnectionStrings:Workflow 提供
var baseConn = config.GetConnectionString("Default")!;
var wfConn = $"{baseConn};Database=workflow";
services.AddDbContext<WorkflowDbContext>((sp, options) => services.AddDbContext<WorkflowDbContext>((sp, options) =>
{ {
options.UseNpgsql(wfConn, npgsql => options.UseNpgsql(config.GetConnectionString("Workflow")!, npgsql =>
{ {
npgsql.MigrationsAssembly(typeof(WorkflowDbContext).Assembly.FullName); npgsql.MigrationsAssembly(typeof(WorkflowDbContext).Assembly.FullName);
}); });