Files
Neo-ZQYY/docs/audit/changes/2026-03-18__rns1-e2e-fdw-direct-connect-bugfix.md
Neo 14a12342b5 chore(audit): 补追 96 份未入仓审计孤本 — 覆盖 2026-02-26 ~ 2026-04-08
这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。

按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。

涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
   召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
   DDL 基线合并 / Kiro 到 Claude Code 迁移

阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 06:35:42 +08:00

2.4 KiB
Raw Blame History

RNS1.1 E2E 测试 — FDW 直连改造 + performance_service bug 修复

日期2026-03-18 触发RNS1.1 端到端测试发现 postgres_fdw 不传递自定义 GUC 参数

变更概述

1. fdw_queries.py — FDW → 直连 ETL 库(架构变更)

根因postgres_fdw 不传递自定义 GUC 参数(app.current_site_id)到远端连接,导致 ETL 库的 RLS 视图 current_setting('app.current_site_id') 在远端未设置而报错。

方案_fdw_context() 改为通过 get_etl_readonly_connection(site_id) 直连 ETL 库,在同一连接上 SET LOCAL app.current_site_id,然后查询 app.v_* RLS 视图。

影响

  • 所有 SQL 表引用从 fdw_etl.v_* 改为 app.v_*
  • conn 参数保留(调用方仍需它查 biz.* 表),但 ETL 查询使用独立连接
  • ETL 连接在 _fdw_context yield 后自动关闭

2. performance_service.py — 两个 bug 修复

Bug A_build_customer_lists() 残留 fdw_etl.v_dwd_assistant_service_log 引用 + 错误列名

  • fdw_etl.v_dwd_assistant_service_logapp.v_dwd_assistant_service_log
  • member_idtenant_member_id
  • assistant_idsite_assistant_id
  • is_trash = falseis_delete = 0RLS 视图基于 dwd_assistant_service_log 基表,用 is_delete 整数)
  • settle_timecreate_time

Bug Bget_overview() 查询不存在的表/列

  • auth.sites 表不存在 → 移除 LEFT JOIN
  • users.display_nameusers.nickname
  • uab.role_labeluab.binding_type

验证

E2E 测试脚本 scripts/ops/e2e_test_rns1.py4/4 接口通过:

  • TASK-1 任务列表
  • TASK-2 任务详情 (列表为空,跳过)
  • PERF-1 绩效概览
  • PERF-2 绩效明细

受影响文件

文件 变更类型
apps/backend/app/services/fdw_queries.py 架构变更FDW → 直连 ETL
apps/backend/app/services/performance_service.py Bug 修复SQL 表名/列名
docs/architecture/backend-architecture.md 文档同步
scripts/ops/e2e_test_rns1.py 新增 E2E 测试脚本

已知遗留

以下文件仍有 fdw_etl. 引用,但不在本次 E2E 测试范围内,需后续修复:

  • apps/backend/app/services/task_manager.py
  • apps/backend/app/services/task_generator.py
  • apps/backend/app/services/recall_detector.py
  • apps/backend/app/services/matching.py