同步完整源码至远程:扁平化重构现状 + 未入库源文件
- 补入库:server/internal/db/dump.go、redis 分页/扫描预算测试、opsxdb-mcp main_test、 packages/opsxdb-mcp package-lock、docs 审计与对比文档等 37 个新文件 - 含结构扁平化进行中的 80 处修改与 155 处旧结构删除(server/ src/ src-tauri/ 为当前有效源) - 构建产物(bin/target/dist)与签名私钥仍按规则排除
This commit is contained in:
1 parent
5c0be49217
commit
2c0bfafd8d
269 files changed
+10372
-16435
No files matched your search
@@ -0,0 +1,56 @@
|
||||
# 数据库桌面 GUI 对比与优化依据
|
||||
|
||||
日期:2026-10-14。参考目录:`/Users/logan/devops/demo/db-gui` 下的 DBFlux、DBX、RustGrid;目标为 OpsxDB 当前工作区。
|
||||
|
||||
产品取舍(用户确认):以 DBFlux 的布局层级与上下文操作为主要参考;DBX 只借鉴实用功能与细致回归。常用操作一两步可达,按目标显示相关菜单,不堆全量管理能力,不为追求功能数量增加学习负担。
|
||||
|
||||
## 方法与评分
|
||||
|
||||
依据本地仓库截图、用户文档、菜单/编辑器/结果表实现及已有测试进行静态评审。未运行三个参考项目,未测启动速度、内存、海量结果性能或逐引擎兼容性;README 宣称的驱动数量不作为已验证能力。截图可能早于代码。下列分数是相同桌面数据库日常任务下的设计评审分,不是性能或质量认证;OpsxDB 55 分为 2026-10-14 右键与复制补齐**前**的基线,当日一轮「操作闭环」已落地(见 BACKLOG §3)但尚未桌面验收,本文不因此自动上调分数,验收后重评。
|
||||
|
||||
每项 10 分:0–3 缺失或断链,4–6 主路径具备但存在明显缺口,7–8 较完整且有边界处理,9–10 系统化实现及回归证据。总分按权重换算为 100 分。
|
||||
|
||||
| 维度 | 权重 | DBFlux | DBX | RustGrid | OpsxDB |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| 布局层级、空间利用、信息密度 | 20% | 9 | 8 | 8 | 6 |
|
||||
| 视觉一致性、主题、可读性 | 15% | 9 | 8 | 7 | 6 |
|
||||
| 编辑器、右键与键盘交互完整度 | 20% | 9 | 9 | 7 | 5 |
|
||||
| 结果浏览、复制、编辑与导出 | 20% | 9 | 9 | 8 | 5 |
|
||||
| 功能组织与对象上下文 | 15% | 9 | 9 | 7 | 6 |
|
||||
| 错误反馈、安全与回归证据 | 10% | 8 | 8 | 6 | 5 |
|
||||
| **加权总分** | **100%** | **89** | **85.5** | **73** | **55** |
|
||||
|
||||
## 布局与设计对比
|
||||
|
||||
| 项目 | 布局与设计 | 适合借鉴 | 详细不足与取舍 |
|
||||
|---|---|---|---|
|
||||
| DBFlux | 连接树 + 文档标签 + 数据区 + 右侧检查器;深浅主题统一;底部状态与任务分离 | 面包屑显示对象上下文、复制/编辑按目标与能力启用、单元格详情、键盘操作 | 三栏同时展开时数据区受挤压;图表、Dashboard、脚本、任务、审计增加学习成本;截图字号偏小,高密度不是所有用户的最佳默认。GPUI 实现不能直接移植进 Tauri |
|
||||
| DBX | 顶部全局操作、连接/库/Schema 树、多标签、结果工具条与 AI 侧栏;类型信息进表头 | 菜单的目标同步、列操作、复制格式、SQL 编辑器边界测试、连接/库/Schema 分层 | 同屏工具条和图标入口较多;AI 展开后宽表横向空间不足;多数据库/云/CLI/浏览器形态使产品复杂,OpsxDB 不应照搬浏览器操作模式;大量能力不等于每个驱动同等成熟 |
|
||||
| RustGrid | Navicat 式大图标工具条、左树、中间对象/查询标签、下方结果与分页 | 清晰的对象类别、显式运行/停止、筛选/排序/导出紧邻数据、中文可发现性 | 大图标顶栏与多排工具条占用垂直空间;截图存在标签截断;界面更传统、设置与细节组织不如前两者统一;README 明示早期迭代,不应按文档能力视为稳定验收 |
|
||||
| OpsxDB | 紧凑顶栏、左侧连接/对象树、编辑器与结果上下分割、可开关 AI;底部状态栏样式存在但未挂载,状态实际经结果工具条与 toast 呈现 | 保留紧凑桌面结构与现有主题;使用已有能力补齐交互 | 图标/文字密度不统一;树、编辑器和结果菜单各自实现;右键主路径已补齐一轮(编辑器/结果/树,2026-10-14 落地待桌面验收);库上下文已随新建查询与模板补齐,PG Schema 语义未完;结果分批 500 行增量显示,仍非真正虚拟滚动;持久化密码是混淆而非钥匙串加密 |
|
||||
|
||||
## 功能对比与证据
|
||||
|
||||
| 能力 | DBFlux | DBX | RustGrid | OpsxDB 缺口 |
|
||||
|---|---|---|---|---|
|
||||
| 编辑器 | 文档工作区、历史、保存查询、键盘命令 | CodeMirror 编辑与上下文菜单、目标同步回归测试 | 高亮、补全、美化、命名查询 | 右键已接入:执行选中/当前、格式化(选区/全文)、注释/取消注释、查找替换、按光标标识符跳 DDL(支持 库.表 限定名);CodeMirror 6 + 库表列补全 + DataGrip 风高亮 + 历史面板。剩余:定义跳转仅限已加载元数据中的明确标识符,别名/CTE/未加载对象后置 |
|
||||
| 结果网格 | 虚拟表格、检查器、过滤、分页、Copy as Query | 复制格式、列冻结/隐藏、筛选/排序、详情、结果上下文工具 | 分页、编辑、筛选、导入导出 | 右键已接入:复制单元格/行/列(TSV)、列名、排序、列宽、行 JSON/INSERT、筛选结果复制、导出当前结果 CSV/JSON;首批 500 行可增量「继续显示」。剩余:非虚拟滚动;TSV 不含表头;桌面剪贴板与保存文件待验收 |
|
||||
| 对象操作 | 驱动能力决定菜单,Schema 层级 | 多 Schema 与连接/查询上下文区分 | 对象类别、表/视图/例程与备份 | SELECT/INSERT 模板已入菜单并新开带库查询(UPDATE/DELETE 函数就绪未开放);新建查询携带所点库并持久化;限定名复制、设为默认库、删除库已有。剩余:PG Schema 语义与 search_path;库节点断开/重连归属;表右键直达导出 |
|
||||
| 设置/安全 | 设置、配置/秘密存储说明、审计与错误关联 | 设置、驱动管理与回归测试较全面 | 主题/语言,XChaCha20-Poly1305 本地密钥存储 | 设置左导航 + 搜索已重构,安全页明示混淆非加密;主题已支持深/浅/随系统(2026-10-14 补齐)。剩余:国际化未实现(无 i18n,文案硬编码中文);凭据仍 Base64 混淆,Keychain 迁移需独立设计 |
|
||||
| 扩展能力 | 图表、Dashboard、可视化查询、脚本/MCP | 数据传输、ER、AI、多引擎与多部署形态 | 导入导出、备份还原、账户与例程 | 主路径优先,不在此轮加入 BI、权限系统、远程协作或第二套客户端 |
|
||||
|
||||
本地证据(相对各参考项目根目录):
|
||||
|
||||
- DBFlux:`resources/dbflux.png`、`docs/USAGE.md`、`crates/dbflux_ui_sidebar/src/context_menu.rs`、`crates/dbflux_ui_document/src/data_grid_panel/context_menu/items.rs`、`data_grid_panel/row_inspector.rs`。
|
||||
- DBX:`docs/screenshot-dark.png`、`docs/screenshot-light.png`、`apps/desktop/src/lib/dataGrid/dataGridContextMenu.ts`、`components/editor/__tests__/QueryEditorContextMenu.spec.ts`、`lib/sql/newQueryContext.ts`(后两项相对 `apps/desktop/src`)。
|
||||
- RustGrid:`docs/img/img2_cn.png`、`docs/img/img4_cn.png`、`crates/rustgrid-app/src/app/grid_menu.rs`、`app/query_editor.rs`(相对同一 src)、`crates/rustgrid-config/src/secrets.rs`、`README_zh.md`。
|
||||
- OpsxDB:`src/Workspace.tsx`、`src/SqlEditor.tsx`、`src/ObjectTree.tsx`、`src/ResultPane.tsx`、`src/store.ts`、`src/secrets.ts`、`src/SettingsModal.tsx`、`src/contextActions.ts`(右键复用工具)、`src/tableMetadata.ts`(表元数据目录查询)。
|
||||
|
||||
## 结合 BACKLOG 的优化路线
|
||||
|
||||
1. **操作闭环(2026-10-14 已落地,待桌面验收)。** 对应 BACKLOG §3:编辑器格式化/注释/查找替换/复制信息与光标标识符定位,库查询上下文,表 SQL 模板与限定名,结果集复制与导出右键;统一菜单的键盘、视口边界与焦点处理。逐项验收清单与剩余边界见 BACKLOG §3,菜单均调用既有逻辑,无仅补文案的占位项。
|
||||
2. **可理解性(已随上项落地)。** 菜单按目标对象与能力裁剪;复制连接信息不带凭据,INSERT 缺少可靠来源时禁用;保留当前浅深主题和桌面产品边界。
|
||||
3. **后续专项:数据层与性能。** PG Schema 默认路径的连接池隔离、真正虚拟滚动、整表导出与导入任务进度;需数据库环境与规模数据实测后验收。
|
||||
4. **后续专项:安全与完整设计系统。** OS Keychain 凭据迁移、统一 SVG 图标、系统主题/语言、统一错误诊断与测试;不能将 Base64 混淆宣传为加密。
|
||||
|
||||
本轮完成情况与未验项回写 `BACKLOG.md`,不因菜单增加直接提升评分;优化后需以桌面任务验收重新评估。
|
||||
Reference in new issue
Block a user