Syngnat
|
c8c8497a2f
|
✨ feat(query-editor): 收敛 SQL 分析工作台与结果区日志体验
- 新增 SQL 分析工作台,统一承载慢 SQL 和 SQL 诊断视图
- 将 SQL 执行日志收进结果区首个日志标签并在失败时展示错误摘要
- 调整侧边栏入口、标签展示、多语言文案与定向前端测试覆盖
|
2026-06-20 14:09:58 +08:00 |
|
Syngnat
|
6179c3fbd9
|
♻️ refactor(sidebar): 拆分动作与搜索逻辑
|
2026-06-19 18:46:08 +08:00 |
|
Syngnat
|
13705f9098
|
♻️ refactor(sidebar): 抽出 V2 右键菜单逻辑
|
2026-06-19 18:08:54 +08:00 |
|
Syngnat
|
1dea343aa2
|
♻️ refactor(sidebar): 抽出 V2 树标题渲染
|
2026-06-19 18:03:28 +08:00 |
|
Syngnat
|
293a8ff3e9
|
♻️ refactor(sidebar): 抽出实体操作弹窗
|
2026-06-19 17:56:12 +08:00 |
|
Syngnat
|
6e422aea33
|
♻️ refactor(sidebar): 抽出树节点加载器
|
2026-06-19 17:32:45 +08:00 |
|
Syngnat
|
39e52469f2
|
♻️ refactor(sidebar): 抽出批量操作弹窗
|
2026-06-19 17:23:53 +08:00 |
|
Syngnat
|
3ff5141184
|
♻️ refactor(sidebar): 抽出外部 SQL 文件流程
|
2026-06-19 17:13:24 +08:00 |
|
Syngnat
|
db31513c0b
|
♻️ refactor(sidebar): 抽出批量导出状态逻辑
|
2026-06-19 16:55:43 +08:00 |
|
Syngnat
|
5da2c7ff1a
|
♻️ refactor(sidebar): 抽出元数据加载工具
|
2026-06-19 16:45:15 +08:00 |
|
Syngnat
|
d109f2891f
|
♻️ refactor(sidebar): 复用 V2 侧栏工具函数
|
2026-06-19 16:33:16 +08:00 |
|
Syngnat
|
f946951580
|
♻️ refactor(sidebar): 迁出 legacy 节点菜单构建逻辑
|
2026-06-19 16:21:36 +08:00 |
|
Syngnat
|
f6ebfc2e44
|
♻️ refactor(sidebar): 清理 V2 rail 残留死代码
- 删除未被调用的 rail connection button/group 渲染闭包
- 移除对应的折叠、拖拽状态和 badge/host 辅助函数
- 保留当前可达的 active connection 状态展示和树拖拽排序逻辑
|
2026-06-19 15:16:31 +08:00 |
|
Syngnat
|
540dbc2a28
|
♻️ refactor(sidebar): 抽出 Command Search 面板组件
- 新建 SidebarSearchPanel,承接 V2 命令搜索弹层的行、分组和空状态渲染
- Sidebar.tsx 保留搜索状态、过滤和执行逻辑,仅通过 typed props 传入子组件
- 保持 @ 对象搜索、? AI 提问、同步过滤与键盘导航行为不变
|
2026-06-19 14:55:21 +08:00 |
|
Syngnat
|
2c8128724e
|
♻️ refactor(sidebar): 抽出 ConnectionRail 为独立子组件
- 新建 sidebar/SidebarConnectionRail.tsx:V2 连接栏(新建分组/批量导出/SQL 文件/定位/AI/工具/设置 7 个按钮)
- Props 用聚合对象(labels + handlers + canLocateActiveTab)避免 18+ 个独立 props drilling
- Sidebar.tsx 删除 renderV2ConnectionRail(-93 行),加 v2ConnectionRailProps 构造 + <SidebarConnectionRail /> 调用
- Sidebar.tsx 从 10187 减至 10122 行
|
2026-06-19 14:29:57 +08:00 |
|
Syngnat
|
528f3c51a0
|
♻️ refactor(sidebar): 迁出命令搜索相关类型与 shouldLoadSidebarNodeOnExpand
- 迁出 V2CommandSearchMode/V2CommandSearchQuery 类型与 parseV2CommandSearchQuery(支持 @/?前缀切换 object/ai 模式)
- 迁出 shouldLoadSidebarNodeOnExpand(节点懒加载判定)
- SidebarNodeLike 加可选 key 字段以适配测试用法
- Sidebar.tsx 从 10235 减至 10187 行,sidebarHelpers.ts 增至 215 行
|
2026-06-19 14:19:06 +08:00 |
|
Syngnat
|
a4d94624cd
|
♻️ refactor(sidebar): 继续抽离 resolveV2ObjectGroupTitle 等 2 个工具函数
- 新增 SidebarNodeLike 结构化类型,替代 Pick<TreeNode, ...> 解除对 Sidebar 内部类型的依赖
- 迁出 resolveV2ObjectGroupTitle(对象分组标题本地化)与 resolveSidebarTableNameForCopy(节点表名提取)
- Sidebar.tsx 从 10243 减至 10235 行
|
2026-06-19 14:15:35 +08:00 |
|
Syngnat
|
87bd16c4ba
|
♻️ refactor(sidebar): 抽离独立工具函数到 sidebarHelpers 模块
- 新建 sidebar/sidebarHelpers.ts:迁出 6 个无内部类型依赖的纯函数(formatSidebarRowCount/hasSidebarLazyChildren/getV2RailConnectionGroupBadgeText 等)+ V2ExplorerFilter 类型 + V2_RAIL_UNGROUPED 常量
- Sidebar.tsx 通过 import + re-export 双向引用,外部测试文件的 `from './Sidebar'` 保持兼容
- 文件规模:Sidebar.tsx 从 10275 减至 10243 行,建立 sidebar/ 子目录作为后续拆分的目标归宿
|
2026-06-19 14:11:54 +08:00 |
|
Syngnat
|
6b67bb24b4
|
✨ feat(tool-center): 优化工具中心分组交互与通用弹窗
- 重构工具中心为侧边分组导航,固定弹窗高度并支持内部滚动
- 新增通用可拖拽可缩放 Modal,统一主要弹窗打开体验
- 为工具中心内嵌入口补充返回上一步交互与底部操作区
- 补充多语言文案和工具中心/Modal/i18n 回归测试
|
2026-06-18 20:28:47 +08:00 |
|
Syngnat
|
2a8ae05363
|
🐛 fix(export-workbench): 修正未知总数进度展示并优化 XLSX 收尾阶段
- 修正总行数为 0 时仍被当作已知总数的问题,避免导出进度百分比失真
- 调整导出进度条判定逻辑,未知总数时改为展示实时写入进度
- 统一 Sidebar、TableOverview 和导出工作台的预计行数口径,仅在总数大于 0 时视为已知
- 优化 XLSX 收尾阶段的 ZIP 压缩策略和拷贝缓冲,降低 Windows 大文件导出封装耗时
- 细化 finalizing 阶段文案,明确显示 XLSX 正在封装压缩
- 补充导出进度状态与零总数场景的回归测试
|
2026-06-18 10:15:00 +08:00 |
|
Syngnat
|
4e31d47936
|
✨ feat(export-workbench): 支持批量导出工作台并优化 SQL 导出性能
- 侧边栏批量表/批量库入口改为直接打开导出工作台,统一导出配置与进度视图
- 导出工作台新增 batch-tables / batch-databases 模式,支持连接、数据库、对象选择与独立历史记录键
- 连接、数据库、对象下拉项补齐完整名展示与悬浮提示,避免长名称被截断后不可识别
- 后端新增批量对象/批量库导出 WithOptions 链路,统一返回输出文件/目录与进度信息
- SQL dump 数据导出改为按方言批量写入,MySQL/PG 等使用多值 VALUES,Oracle/达梦使用 INSERT ALL
- 补充导出工作台与 SQL dump 的回归测试和 benchmark,覆盖批量模式与批量写入语义
|
2026-06-17 16:50:05 +08:00 |
|
Syngnat
|
5b31ab7435
|
✨ feat(export-workbench): 新增导出工作台与进度历史
- 新增表级导出工作台标签页,统一承载导出范围、格式和 XLSX sheet 行数配置
- 结果集、表概览、侧栏和右键菜单统一接入导出工作台与带进度的导出入口
- 导出进度改为事件驱动,未知总数时展示不定进度和实时已写入行数
- 持久化每张表的导出历史并复用同一导出标签,重启后仍可查看最近任务
- 调整导出页签标题、状态胶囊和历史列表,补充工作台与状态流测试覆盖
|
2026-06-17 14:40:49 +08:00 |
|
tianqijiuyun-latiao
|
9364c48ef0
|
✨ feat(i18n): 完善多模块多语言适配与发版验证
扩展前后端多语言文案与共享词典。增加多模块 i18n 回归测试与 guard。收口外部 SQL 菜单和弹窗多语言文案。
|
2026-06-17 13:17:33 +08:00 |
|
tianqijiuyun-latiao
|
76b0163bd3
|
Merge branch 'dev' into feature/20260602_connection_driver_i18n
# Conflicts:
# frontend/package.json.md5
# frontend/src/App.tsx
# frontend/src/components/AIChatPanel.message-boundary.test.tsx
# frontend/src/components/AIChatPanel.tsx
# frontend/src/components/AISettingsModal.tsx
# frontend/src/components/ConnectionModal.tsx
# frontend/src/components/DataGrid.ddl.test.tsx
# frontend/src/components/DataGrid.layout.test.tsx
# frontend/src/components/DataGrid.tsx
# frontend/src/components/DataGridColumnTitle.test.tsx
# frontend/src/components/DataGridLegacyCellContextMenu.tsx
# frontend/src/components/DataGridSecondaryActions.tsx
# frontend/src/components/DataGridToolbarFrame.tsx
# frontend/src/components/DataSyncModal.tsx
# frontend/src/components/DataViewer.tsx
# frontend/src/components/DefinitionViewer.tsx
# frontend/src/components/DriverManagerModal.tsx
# frontend/src/components/QueryEditor.external-sql-save.test.tsx
# frontend/src/components/QueryEditor.tsx
# frontend/src/components/RedisViewer.tsx
# frontend/src/components/Sidebar.locate-toolbar.test.tsx
# frontend/src/components/Sidebar.tsx
# frontend/src/components/TabManager.hover.test.tsx
# frontend/src/components/TabManager.tsx
# frontend/src/components/TableDesigner.tsx
# frontend/src/components/V2TableContextMenu.tsx
# frontend/src/components/ai/AIChatHeader.tsx
# frontend/src/components/ai/AIHistoryDrawer.tsx
# frontend/src/main.tsx
# frontend/src/store.ts
# frontend/src/utils/aiComposerNotice.test.ts
# frontend/src/utils/aiComposerNotice.ts
# frontend/src/utils/connectionModalPresentation.ts
# frontend/src/utils/driverImportGuidance.ts
# frontend/src/utils/externalSqlTree.test.ts
# frontend/src/utils/externalSqlTree.ts
# frontend/src/utils/sqlDialect.ts
# internal/ai/service/service.go
|
2026-06-16 18:35:11 +08:00 |
|
Syngnat
|
54195e0591
|
🐛 fix(sqlserver): 修复对象 SQL 定义获取失败
- SQL Server 对象定义改为通过 sys.all_sql_modules 按库、schema、对象名精确查询
- 增加 sp_helptext 兼容候选,支持拼接多行 Text 返回完整定义
- 统一修复视图、函数/存储过程、触发器定义查看与对象修改入口
- 补充 SQL Server 对象定义查询和组件回归测试
|
2026-06-16 12:54:39 +08:00 |
|
Syngnat
|
f41a15c7b8
|
✨ feat(data-sync/oceanbase): 拆分比对入口并修复 OceanBase Oracle 连接
- 数据同步:新增表结构比对、数据比对两个独立工具入口
- 比对模式:为 DataSyncModal 增加只读入口展示与模式化文案
- OceanBase:Oracle 租户改用 OB Oracle 专用 MySQL-wire 连接路径
- 连接表单:允许 OceanBase Oracle Service Name 留空,仅 TNS 场景需要填写
- 驱动提示:revision 不匹配提示收敛到驱动管理,不再在普通数据源入口弹出
- 测试覆盖:补充数据比对入口、OceanBase Oracle、driver-agent 提示边界测试
|
2026-06-16 12:15:16 +08:00 |
|
tianqijiuyun-latiao
|
558966a129
|
✨ feat(i18n): 推进六语言多语言体系与扫描门禁
- 新增共享六语言词典、前端 i18n 运行时与语言设置入口
- 推进连接、驱动、数据网格、查询、AI、Redis、表设计等模块文案本地化
- 补充 raw 边界、SQL/驱动/更新场景测试与 i18n 扫描工具
|
2026-06-15 14:35:08 +08:00 |
|
Syngnat
|
2f354d2267
|
✨ feat(saved-query): 新增已存查询独立查看入口
- 侧边栏新增“全部已存查询”根节点,不依赖连接实例或加载数据库
- 按连接、数据库和未匹配状态分组展示后端已加载查询
- 使用独立树节点 key,避免与数据库节点下的同一查询冲突
- 重命名和删除按真实 query id 同步更新所有展示副本
- 补充独立入口分组结构测试,覆盖已匹配和未匹配查询
|
2026-06-15 14:12:39 +08:00 |
|
Syngnat
|
eca9601ab0
|
✨ feat(saved-query): 支持已存查询后端持久化与连接重绑
- 后端新增 saved_queries.json 仓库,保存、导入、删除和重绑统一走 Wails 方法
- 启动时导入旧 lite-db-storage 中的 savedQueries 和连接快照,成功后清理旧字段
- 新增连接指纹匹配,唯一强匹配自动重绑,歧义场景保留为未匹配
- 侧边栏新增未匹配已存查询分组,并支持手动绑定到目标连接
- 前端保存、重命名、删除查询改为后端持久化,并补充浏览器 mock
- 补充后端与前端迁移回归测试
|
2026-06-15 12:20:57 +08:00 |
|
Syngnat
|
0b9f0448c8
|
⚡️ perf(database): 优化查询元数据加载和连接释放
- 查询编辑器仅预取当前库及 SQL 显式引用库的元数据
- 断开侧边栏连接时主动释放同实例后端缓存连接
- 完善 Redis 连接释放和 Wails 前端绑定
- 修复 SQL Server 存储过程消息结果显示
- 调整查询工具栏布局并补充回归测试
Close #541
|
2026-06-15 07:21:00 +08:00 |
|
Syngnat
|
5f892d29c8
|
✨ feat(schema): 支持模式编辑删除及按模式导出备份
- 新增 PostgreSQL 系模式重命名与删除能力
- 侧栏模式节点补充右键菜单、编辑弹窗和删除确认
- 导出表结构与备份表数据支持按模式过滤表和视图
- 同步补充 Wails 绑定与前后端定向测试
Close #526
|
2026-06-14 17:48:29 +08:00 |
|
Syngnat
|
d805f288ae
|
✨ feat(rabbitmq): 新增 RabbitMQ 数据源连接与测试发消息支持
- 新增 RabbitMQ 管理 API 数据源实现,支持 vhost、queue、exchange 浏览与队列预览
- 统一消息发送弹窗,支持 Kafka Topic 与 RabbitMQ Queue 的测试发送命令生成
- 补齐连接表单、能力矩阵、SQL 方言、图标与前后端回归测试覆盖
|
2026-06-14 10:49:11 +08:00 |
|
Syngnat
|
d2f68acae8
|
✨ feat(gaussdb): 新增 GaussDB 数据库连接支持
Refs #497
|
2026-06-13 19:34:52 +08:00 |
|
Syngnat
|
f3dfffb8d1
|
✨ feat(iotdb): 新增 Apache IoTDB 时序库连接支持
Refs #546
|
2026-06-13 18:23:56 +08:00 |
|
Syngnat
|
d1aa06d537
|
✨ feat(ai): 支持聊天附件解析并优化数据库对象操作
|
2026-06-12 12:30:28 +08:00 |
|
Syngnat
|
e353fda7a2
|
♻️ refactor(connection): 统一连接驱动类型归一化
|
2026-06-12 06:58:41 +08:00 |
|
Syngnat
|
ce568362c6
|
♻️ refactor(sidebar): 拆分侧边栏核心工具函数
|
2026-06-11 14:15:30 +08:00 |
|
Syngnat
|
c4153202ba
|
✨ feat(editor): 完善 SQL 编辑与数据编辑交互
- 结果区状态按 SQL Tab 独立保存,快捷键可恢复手动隐藏面板
- 对象设计保留完整字段类型和可空信息,完善兼容驱动 DDL 元数据
- 数据编辑新增手动/自动提交设置和自动提交倒计时
- 修复 schema 视图定位时找不到左侧树节点的问题
|
2026-06-10 14:27:40 +08:00 |
|
Syngnat
|
e16082af9a
|
🐛 fix(sidebar): 修复 GDB 兼容库视图定位失败
- 增加 MySQL 兼容视图元数据查询回退
- 统一编辑器和左侧树的视图元数据查询
- 放宽视图分组下缺失节点类型时的可视定位兜底
|
2026-06-10 12:14:27 +08:00 |
|
Syngnat
|
d6f552d539
|
🐛 fix(sidebar): 修复国产兼容库视图定位失败
- 统一 Sidebar 与 SQL 编辑器的元数据方言解析
- 兼容 GDB/GoldenDB/GreatDB 等 MySQL 兼容驱动的视图元数据
- 放宽左侧树视图定位对 objectType 节点的识别
|
2026-06-10 11:07:50 +08:00 |
|
Syngnat
|
cb90a4ad01
|
🐛 fix(sidebar): 修复视图定位慢加载误报
- 兼容 table-prefixed key 的视图兜底定位
- 区分对象树仍在加载与真实未找到状态
- 补充 sidebarLocate 与 Sidebar 定位回归测试
|
2026-06-10 01:13:29 +08:00 |
|
Syngnat
|
73e93e955c
|
🐛 fix(sidebar): 修复视图缺失元数据时定位失败
|
2026-06-09 23:51:36 +08:00 |
|
Syngnat
|
c742b4d61e
|
🐛 fix(sidebar): 修复视图定位误报未找到
- 视图定位失败时增加表分支可视节点兜底
- 命令搜索对象定位传入精确树节点 key
- 补充国产库视图与元数据缺失场景回归测试
|
2026-06-09 23:26:15 +08:00 |
|
Syngnat
|
d78c4481f0
|
🐛 fix(sidebar): 兼容国产库视图定位
- 兼容 MySQL 协议国产库返回的 SYSTEM VIEW / BASE VIEW 类型
- 同步 SQL 编辑器与左侧树的视图元数据识别逻辑
- 增加节点元数据缺失时的唯一可视标识兜底定位
|
2026-06-09 20:31:24 +08:00 |
|
Syngnat
|
75b60f94d2
|
🐛 fix(sidebar): 修复视图定位误报未找到
|
2026-06-09 19:38:41 +08:00 |
|
Syngnat
|
77b58baff7
|
♻️ refactor(sidebar): 拆分 V2 侧栏工具逻辑
|
2026-06-09 13:39:11 +08:00 |
|
Syngnat
|
4ad1d15781
|
🐛 fix(driver/sidebar): 修复驱动代理 revision 校验与外部SQL目录重复显示
- driver:下载或总包中的 driver-agent revision 过旧时跳过该候选并继续 fallback
- driver:新增发布资产 revision 校验脚本并接入 dev/release CI
- sidebar:修复 v2 表/视图等筛选下重复显示外部 SQL 目录
- test:补充 driver-agent fallback 与侧栏筛选回归测试
|
2026-06-04 13:37:09 +08:00 |
|
Syngnat
|
c6f6f76489
|
Merge pull request #530 from origin/pr-530
|
2026-06-03 20:41:49 +08:00 |
|
Syngnat
|
4b23c013d9
|
✨ feat(designer): 将对象设计整合进数据视图并统一设计表交互样式
|
2026-06-03 15:27:54 +08:00 |
|
lixiaodong
|
cf9b7d9d10
|
✨ feat(elasticsearch): 生产级 ES 驱动 — 写入支持、分页、多版本兼容
- go-elasticsearch/v8 官方 SDK,支持 ES 6.x/7.x/8.x
- SQL → ES DSL 转换、DevTools 查询、JSON DSL
- _bulk API 批量写入(INSERT/UPDATE/DELETE)
- 别名写入、精确分页、COUNT 统计
- API Key / SSH / SSL 连接支持
- 表设计器只读适配、ES 品牌图标
- 30+ 单元测试全部通过
|
2026-06-03 10:15:38 +08:00 |
|