Skip to content

Web 可视化界面

SQL-Diff 提供了现代化的 Web 可视化界面,让您可以通过浏览器进行表结构比对和 AI 功能操作。

启动 Web 服务

使用 web 子命令启动 Web 服务:

bash
# 启动默认端口 (8848)
sql-diff web

# 指定端口
sql-diff web --port 9000

服务启动后会自动打开默认浏览器访问 Web 界面。

功能特性

🎯 服务单例检测

  • 自动检测是否已有服务运行
  • 避免重复启动多个实例
  • 自动打开已运行的服务页面

🌐 端口自动检测

  • 自动检测端口是否被占用
  • 自动寻找可用端口
  • 智能端口分配

🌗 主题切换

  • 支持浅色/深色模式
  • 自动适配系统主题偏好
  • 主题状态持久化保存

界面功能

1. 表结构比对

在 "表结构比对" 页面,您可以:

  • 粘贴源表和目标表的 CREATE TABLE 语句
  • 实时预览表结构
  • 启用 AI 智能分析
  • 一键生成 DDL 语句

2. AI 生成 CREATE TABLE

在 "AI 生成 CREATE" 页面,您可以:

  • 输入自然语言描述表结构需求
  • AI 自动生成完整的 CREATE TABLE 语句
  • 包含合理的字段类型、索引和注释

3. AI 生成 ALTER TABLE

在 "AI 生成 ALTER" 页面,您可以:

  • 粘贴现有表的 CREATE TABLE 语句
  • 描述需要的修改内容
  • AI 生成相应的 ALTER TABLE 语句

4. 配置管理

在 "配置" 页面,您可以:

  • 管理 AI 相关配置
  • 设置 API Key、提供商、模型等
  • 保存到配置文件或生成环境变量命令

使用示例

启动服务

bash
$ sql-diff web
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       SQL-Diff Web 启动
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 服务已在运行中 (PID: 12345, 端口: 8848)

🌐 正在打开浏览器...
 浏览器已打开

表结构比对

  1. 在源表输入框中粘贴源表 SQL
  2. 在目标表输入框中粘贴目标表 SQL
  3. 选择是否启用 AI 分析
  4. 点击 "开始比对" 按钮
  5. 查看生成的 DDL 语句和 AI 分析结果

AI 生成表结构

  1. 在 "AI 生成 CREATE" 页面输入描述
  2. 点击 "生成" 按钮
  3. 查看 AI 生成的完整 CREATE TABLE 语句

配置管理

  1. 在 "配置" 页面填写 AI 相关参数
  2. 选择保存方式(配置文件或环境变量)
  3. 点击 "保存配置"
  4. 配置将在后续操作中自动使用

技术实现

前端技术栈

  • 框架: Tailwind CSS + DaisyUI
  • 图标: Lucide Icons
  • 字体: Inter (正文) + JetBrains Mono (代码)
  • 响应式: 支持各种屏幕尺寸

后端实现

  • 嵌入静态资源: 使用 Go embed 将前端资源嵌入二进制文件
  • API 设计: RESTful 风格接口
  • 服务管理: PID 文件管理服务状态
  • CORS 支持: 仅允许本地访问确保安全

安全性

  • 仅绑定本地地址 (127.0.0.1)
  • CORS 限制仅允许本地访问
  • 配置信息本地存储
  • 服务单例确保资源不冲突

下一步

Released under the MIT License.