Files
dbx/docs/screenshots/issue-9420-before.png
zipgandzipg 74c275b2ce fix(sqlserver): 表结构支持查看约束(主键/唯一/外键/检查/默认值) (#9581)
SQL Server 连接的「编辑表结构」面板里只有 DDL/字段/索引/外键/触发器,
没有「约束」页签;用户无法查看某张表的约束。

list_constraints 在 SQL Server 驱动中完全缺失:驱动侧没有对应实现,
dbx-core 的 list_constraints_core 没有 SQL Server 分支,直接落到默认的
空数组;前端 tableMetadataCapabilities 也没有声明 sqlserver 支持,
因此即使是空页签也不会渲染。

- dbx-drivers 新增 list_constraints,用一条 UNION ALL 查询汇总
  sys.key_constraints(PK/UNIQUE)、sys.foreign_keys(含引用库表列、
  ON UPDATE/DELETE 动作、is_not_trusted)、sys.check_constraints、
  sys.default_constraints;列名用 FOR XML PATH('') 聚合,兼容 SQL Server
  2008(无 STRING_AGG)
- list_constraints_core 增加 SQL Server 分支与链接服务器早退
- tableMetadataCapabilities 为 sqlserver 打开 constraints,前端显示「约束」页签
- 新增单测覆盖 SQL 形态与列名拆包,并补充前端能力断言

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 13:31:45 +08:00

137 KiB
1280x1100px