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:
parent
ab6c6829c6
commit
44927e651e
@ -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",
|
||||
|
||||
@ -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 正确获取当前用户
|
||||
|
||||
@ -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>();
|
||||
|
||||
|
||||
@ -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 正确获取当前用户
|
||||
|
||||
@ -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);
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user