Skip to content

Releases: TonQiang/Chat2DB

0.3.8

04 Apr 07:16

Choose a tag to compare

🎉 新增功能 (New Features)

1. 数据导出功能 (Data Export Feature)

完整的表数据导出功能,支持多种格式和高级配置选项。

支持的格式:

  • CSV - 支持自定义分隔符(逗号/分号/Tab)
  • SQL INSERT - 可选包含 CREATE TABLE 语句
  • JSON - 结构化 JSON 格式

配置选项:

  • 导出范围:全部数据 或 限制条数(100/500/1000/5000/10000)
  • 字段筛选:选择需要导出的列
  • 条件过滤:支持 WHERE 条件筛选
  • 文件编码:UTF-8 / GBK

入口:

  • 表节点右键菜单 → 导出数据
  • 查询结果工具栏 → 导出下拉菜单

实现文件:

  • src/components/ExportDataModal/ - 导出配置弹窗组件
  • src/blocks/Tree/functions/exportData.tsx - 右键菜单入口
  • chat2db-server/.../TableDataExportRequest.java - 后端请求类
  • chat2db-server/.../TaskBizService.java - 后端导出服务

2. 编辑器设置功能 (Editor Settings)

可自定义 Monaco 编辑器的外观和行为,设置持久化到 localStorage。

配置项:

  • 字体大小 (Font Size)
  • Tab 大小 (Tab Size)
  • 字体类型 (Font Family) - Menlo / Consolas / Monaco / Courier New
  • 行高 (Line Height)
  • 自动换行 (Word Wrap)
  • 显示缩略图 (Minimap)
  • 代码折叠 (Code Folding)
  • 自动闭合引号 (Auto Closing Quotes)

实现文件:

  • src/store/editor/index.ts - Zustand 状态存储
  • src/blocks/Setting/EditorSetting/ - 设置界面组件
  • src/components/MonacoEditor/index.tsx - 编辑器集成

3. 智能SQL编辑器 (Intelligent SQL Editor)

增强的 SQL 编辑体验,提供智能辅助功能。

功能:

  • 代码片段 (Code Snippets) - 快速插入常用 SQL 模板
  • 语法检查 (Syntax Checker) - 实时 SQL 语法验证
  • 智能排序 (Intelligent Sorting) - 按使用频率排序补全建议
  • 关键字补全 (Keyword Completion)
  • 表名/字段名补全 (Table/Column Completion)

实现文件:

  • src/utils/IntelliSense/ - 智能提示核心模块
    • snippet.ts - 代码片段
    • syntaxChecker.ts - 语法检查
    • usageTracker.ts - 使用频率追踪
    • keyword.ts - 关键字补全
    • table.ts - 表名补全
    • field.ts - 字段名补全

4. 数据库分组功能 (Database Grouping)

支持将数据源分组管理,便于组织和查找。

功能:

  • 创建/编辑/删除分组
  • 移动数据源到分组
  • 分组树形展示

实现文件:

  • src/pages/main/connection/components/GroupTree/ - 分组树组件
  • chat2db-server/.../DataSourceGroupController.java - 后端 API

5. 数据库结构导出 (Schema Export)

导出数据库表结构为 SQL 脚本。

功能:

  • 支持导出单个表或整个数据库
  • 可选包含数据
  • 异步任务执行

实现文件:

  • src/blocks/Tree/functions/exportSchema.tsx - 前端入口
  • chat2db-server/.../ExportController.java - 后端 API

6. 复制/清空表 (Copy/Truncate Table)

复制表:

  • 复制表结构
  • 可选复制数据
  • 自定义新表名

清空表:

  • 清空表中所有数据
  • 二次确认提示

实现文件:

  • src/blocks/Tree/functions/copyTable.tsx
  • src/blocks/Tree/functions/truncateTable.tsx
  • chat2db-server/... - 后端 API

7. AI建表 (AI Table Creation)

使用 AI 智能生成表结构。

功能:

  • 自然语言描述生成表结构
  • AI 生成字段定义
  • 一键执行创建

实现文件:

  • src/pages/main/ai-table/ - AI 建表页面
  • chat2db-server/... - 后端 AI 服务

🔧 技术改进 (Technical Improvements)

前端 (Frontend)

  • 使用 Zustand 进行状态管理,支持 localStorage 持久化
  • 采用 TypeScript 类型定义,提升代码质量
  • 国际化支持(中文/英文)

后端 (Backend)

  • 异步任务机制处理长时间导出操作
  • RESTful API 设计
  • 支持多种数据库类型

📝 文档更新 (Documentation)

  • 更新 README.md 和 README_CN.md 功能对比表
  • 新增功能对比分析文档 docs/local-edition-feature-comparison.md

📊 功能对比统计

类别 数量
✅ 已实现 11 个
⚠️ 部分实现 3 个
❌ 未实现 8 个

🔜 待实现功能 (Roadmap)

高优先级

  • 打开运行 SQL 文件
  • 复制结果为 Insert/Update

中优先级

  • 自定义快捷键
  • 生成代码(Java/Python Entity)
  • 数据导入增强(CSV/Excel)

低优先级

  • 数据结构同步
  • 数据迁移
  • AI 数据集
  • Chat2Excel

🛠️ 开发环境

  • 前端: React 18, UmiJS 4, Ant Design 5, Monaco Editor, Zustand
  • 后端: Spring Boot 3.1, Java 17, MyBatis Plus
  • 数据库: H2 (嵌入式), 支持 16+ 数据库类型

📦 安装运行

# 前端
cd chat2db-client
yarn install
yarn start:web

# 后端
cd chat2db-server
mvn clean install -DskipTests
java -jar -Dloader.path=./lib chat2db-server-start.jar

感谢所有贡献者! 🙏