refactor: 统一 PG 连接串为一个 Default

- appsettings 的 ConnectionStrings 从 4 条 PG 连接串(Rag/File/Im/Workflow)
  合并为 1 条 Default(不含 Database)
- 各模块 Infrastructure 从 Default 派生连接串(拼接各自 Database 名)
  改一处连接信息,所有模块生效
- build 0/0
This commit is contained in:
xiangning 2026-07-02 14:10:16 +08:00
parent ab6c6829c6
commit 44927e651e
5 changed files with 22 additions and 23 deletions

View File

@ -18,18 +18,15 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"Rag": "Host=localhost;Port=5432;Database=rag;Username=rag;Password=REDACTED_DEV_PASSWORD",
"File": "Host=localhost;Port=5432;Database=file_system;Username=rag;Password=REDACTED_DEV_PASSWORD",
"Im": "Host=localhost;Port=5432;Database=im_system;Username=rag;Password=REDACTED_DEV_PASSWORD",
"Workflow": "Host=localhost;Port=5432;Database=workflow;Username=rag;Password=REDACTED_DEV_PASSWORD",
"MongoDb": "mongodb://mongo:mongo123@localhost:27017/im_system?authSource=admin",
"Redis": "localhost:6379,abortConnect=false"
"Default": "Host=43.134.235.58;Port=15432;Username=rag;Password=REDACTED_PG_PASSWORD",
"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"
},
"RabbitMq": {
"Host": "localhost",
"Port": 5672,
"Host": "43.134.235.58",
"Port": 25672,
"Username": "rag",
"Password": "REDACTED_DEV_PASSWORD"
"Password": "REDACTED_RABBITMQ_PASSWORD"
},
"S3": {
"Endpoint": "http://43.134.235.58:39200",

View File

@ -21,11 +21,11 @@ public class FileInfrastructureModule : AbpModule
var services = context.Services;
var config = services.GetConfiguration();
// DbContext 挂载审计拦截器,拦截器从 DI 容器解析 ICurrentUserContext
// 连接串优先读 "File" 键(聚合 host 用,与 rag 区分);生产环境只有 "Default",走 fallback 行为不变
var fsConnection = config.GetConnectionString("File") ?? config.GetConnectionString("Default");
// DbContext 挂载审计拦截器,统一从 Default 连接串派生(替换 Database 名)
var baseConn = config.GetConnectionString("Default")!;
var fsConn = $"{baseConn};Database=file_system";
services.AddDbContext<FileDbContext>((sp, options) =>
options.UseNpgsql(fsConnection)
options.UseNpgsql(fsConn)
.AddInterceptors(sp.GetRequiredService<AuditInterceptor>()));
// Scoped 生命周期:每个 HTTP 请求创建一个拦截器实例,确保 ICurrentUserContext 正确获取当前用户

View File

@ -23,11 +23,11 @@ public class IMInfrastructureModule : AbpModule
var services = context.Services;
var config = services.GetConfiguration();
// PostgreSQL:会话/参与者/群组/群成员。挂载 AuditInterceptor 自动写入审计字段与软删除
// 连接串优先读 "Im" 键(Admin Host 用,与 rag/file 区分);设计时或模块测试只有 "Default" 时走 fallback
var imConnection = config.GetConnectionString("Im") ?? config.GetConnectionString("Default");
// PostgreSQL:会话/参与者/群组/群成员。统一从 Default 连接串派生(替换 Database 名)
var baseConn = config.GetConnectionString("Default")!;
var imConn = $"{baseConn};Database=im_system";
services.AddDbContext<ImDbContext>((sp, options) =>
options.UseNpgsql(imConnection)
options.UseNpgsql(imConn)
.AddInterceptors(sp.GetRequiredService<AuditInterceptor>()));
services.AddScoped<AuditInterceptor>();

View File

@ -27,10 +27,11 @@ public class RAGInfrastructureModule : AbpModule
var config = services.GetConfiguration();
// DbContext 挂载审计拦截器,拦截器从 DI 容器解析 ICurrentUserContext
// 连接串优先读 "Rag" 键(聚合 host 用,与 file-system 区分);生产环境只有 "Default",走 fallback 行为不变
var ragConnection = config.GetConnectionString("Rag") ?? config.GetConnectionString("Default");
// 统一从 Default 连接串派生(替换 Database 名),改一处连接信息全模块生效
var baseConn = config.GetConnectionString("Default")!;
var ragConn = $"{baseConn};Database=rag";
services.AddDbContext<RagDbContext>((sp, options) =>
options.UseNpgsql(ragConnection, o => o.UseVector())
options.UseNpgsql(ragConn, o => o.UseVector())
.AddInterceptors(sp.GetRequiredService<AuditInterceptor>()));
// Scoped 生命周期:每个 HTTP 请求创建一个拦截器实例,确保 ICurrentUserContext 正确获取当前用户

View File

@ -19,11 +19,12 @@ public class WorkflowInfrastructureModule : AbpModule
var services = context.Services;
var config = services.GetConfiguration();
// 连接串优先读 "Workflow" 键(BuildFlow Host 用),否则回退 "Default"(设计时或模块测试)
var wfConnection = config.GetConnectionString("Workflow") ?? config.GetConnectionString("Default");
// 统一从 Default 连接串派生(替换 Database 名)
var baseConn = config.GetConnectionString("Default")!;
var wfConn = $"{baseConn};Database=workflow";
services.AddDbContext<WorkflowDbContext>((sp, options) =>
{
options.UseNpgsql(wfConnection, npgsql =>
options.UseNpgsql(wfConn, npgsql =>
{
npgsql.MigrationsAssembly(typeof(WorkflowDbContext).Assembly.FullName);
});