新增 5 个文档: - ARCHITECTURE.md (308行) — 系统架构图 + 核心模块 + 数据模型 + 关键决策 - AUDIT_REPORT.md (432行) — 完整审计报告 (规模/依赖/测试/数据库) - FEATURES.md (194行) — 功能清单 (已完成/开发中/待实现) - PROJECT_EVALUATION.md (63行) — 项目评估 (4.2/5.0 评分 + 竞品对比) - ROADMAP.md (52行) — 开发路线图 (13个里程碑 + 4个Sprint计划)
7.2 KiB
7.2 KiB
SQL-Platform-Pro 功能清单
生成时间: 2026-05-24 | 版本: v1.0
✅ 已完成功能
一、核心功能
1. 自助查询 (QueriesPage)
- 多数据库类型查询 (MySQL/PostgreSQL/Redis/MongoDB)
- CodeMirror 6 SQL 编辑器 (语法高亮 + 自动补全)
- SQL 模板库 (13 个预置模板,按 DB 类型适配)
- Ctrl+Enter 执行 / Ctrl+Shift+F 格式化
- 查询结果表格 (点击单元格弹详情 + JSON 格式化)
- 查询历史记录 (500 条/用户上限)
- 收藏查询 / 快捷查询
- Schema 侧边栏 (MySQL 三级树 / Redis 目录树 / MongoDB 集合)
- Redis key 点击自动插入查询命令 (GET/HGETALL/LRANGE/SMEMBERS/ZRANGE)
- 两阶段 schema 加载 (选实例加载表名, 选库加载列名)
- 数据库品牌图标 (techicons.dev SVG)
- 实例按权限组过滤 (/instances/accessible?access_type=readonly)
2. 数据变更审批流 (TicketsPage + TicketCreatePage)
- 工单创建 (选择变更授权实例 + 库表浏览辅助)
- 工单编号生成 (20位: 时间戳+微秒+序号)
- 工单状态机 (pending → reviewing → approved → executing → success/failed)
- 多步审批流 (standard / parallel / any_one / condition)
- 审批人限定 (必须在权限组成员中)
- 工单撤销 (pending/reviewing 状态可撤销)
- 执行结果结构化展示 (状态/行数/耗时/验证/错误/警告)
- 当前审核人显示
- 工单快速筛选 (待审批/进行中/已完成/已拒绝)
- 实例按 DB 类型筛选
- Redis 目录树浏览 + 点击插入命令
- MongoDB 集合浏览 + 点击插入命令
- SQL 提交前强制审核规则检查
3. SQL 审核引擎
- 127 条审核规则 (MySQL 67 / PostgreSQL 31 / Redis 25 / MongoDB 31)
- 6 个分组 (DDL/DML/DCL/DQL/security/performance)
- MySQL 安全规则 SEC-001~009
- Redis 规则去重优化 (CMD-001 覆盖 SEC-003)
- 规则 CRUD (创建/读取/更新/删除/开关)
- 规则统计和筛选
- 评分系统 (severity: error/warning/info)
4. 审批流管理 (WorkflowPage)
- 审批流 CRUD (创建/编辑/删除)
- 步骤管理 (拖拽排序 + 类型选择)
- 3 种高级步骤类型 (parallel 会签 / any_one 或签 / condition 条件分支)
- 条件评估引擎 (sql_type/db_type/risk_level/priority)
- 超时检查 (timeout_hours + auto_approve_on_timeout)
- 默认审批流绑定 (is_default + is_active)
二、数据源管理
5. 实例管理 (InstancePage)
- 实例 CRUD (4 种 DB 类型)
- 连接测试 (MySQL/PG/Redis/MongoDB/SQLite)
- 实例密码 AES-256-GCM 加密 (向后兼容明文)
- 卡片视图 + 列表视图
- 按类型 Tab 筛选 (全部/MySQL/PostgreSQL/Redis/MongoDB)
- 品牌图标展示
- 编辑弹框 (EditInstanceDialog 可复用)
- 克隆实例 (名称自动加 "-副本")
- 实例详情页 (6 tab: 概览/表/查询/用户/慢查询/进程)
- Redis 详情页 (4 tab: Keys/监控/CLI/性能)
- MongoDB 详情页 (数据库/集合/统计/查询CLI)
6. 库表浏览
- MySQL: SHOW DATABASES → information_schema.TABLES → COLUMNS
- PostgreSQL: pg_database → pg_tables → column list
- Redis: CONFIG GET databases → db0~db{N} (无表概念)
- MongoDB: list_database_names → list_collection_names
- 统一走后端 listDatabases/listTables API
三、权限与安全
7. 权限管理 (InstanceGroupPage)
- 权限组 CRUD
- 2 种权限类型 (只读查看 / 写入变更)
- Transfer 穿梭框选择数据库
- 用户-权限组关联
- 实例-权限组关联 (中间表 instance_group_members)
- 7 个操作权限 action
- 角色权限映射 (admin/dba/auditor/developer)
- admin 也按权限组过滤 (无 bypass)
8. 用户管理 (UsersPage)
- 用户 CRUD (4 角色: admin/dba/auditor/developer)
- bcrypt 4.0 密码哈希
- 默认用户种子数据 (4 个: admin/zhangsan/laoliu/lurenjia)
- guest 角色已彻底禁用
9. 审计日志 (AuditLogsPage)
- 全操作审计日志 (实例/用户/工单/查询 CRUD)
- 日志筛选 (时间范围/用户/操作类型)
- auditor 角色只读访问
四、系统设置
10. 通知管理 (NotificationPage)
- 通知渠道配置 (DingTalk/Feishu/Email)
- 真实消息发送 (非模拟)
- 通知模板 (创建/通过/拒绝/执行完成)
- 钉钉/飞书换行适配
- 测试发送功能
11. 系统配置 (PlatformConfigPage)
- 12 项配置 (查询控制 7 + 安全 3 + 工单 2)
- 分组卡片布局 (布尔→开关/整数→数字/字符串→文本)
- 批量保存 + 变更指示 + 重置默认值
- 查询接口集成 (审批检查/长度检查)
12. 公告管理 (AnnouncementPage)
- 公告 CRUD (Markdown 内容)
- 发布/撤回状态管理
13. 审核规则管理 (AuditRulesPage)
- 规则列表 (6 组 Tab: DDL/DML/DCL/DQL/security/performance)
- 规则开关 (toggle)
- 规则统计
- 按数据库类型筛选
- 规则种子 (POST /audit-rules/seed/{db_type})
五、基础设施
14. 前端优化
- React.lazy 代码分割 (18 页面懒加载)
- Vite manualChunks (vendor 拆分)
- 首屏 -44% (2676KB → 1438KB)
- 暗色主题 (--dg- CSS 变量体系)
- 响应式布局
- 骨架屏加载动画
- 确认弹框 (useConfirm hook, 替代浏览器 confirm)
- Toast 通知 (右下角 3 秒消失)
15. 后端基础设施
- JWT 认证 (30 分钟过期)
- run.sh PID 管理脚本 (start/stop/restart/status/logs/build/test)
- Alembic 数据库迁移
- Docker + docker-compose 部署
- CORS 策略
- 请求日志中间件
🔨 开发中 / 待实现
短期 (P1)
- 自动化任务前端 (AutoTaskPage.tsx + api/autoTask.ts)
- 通知功能前端页面完善
- 两个页面 Redis 树抽取为共享组件
- LDAP 认证对接 (后端已有 LdapConfig 模型)
中期 (P2)
- Schema 漂移检测 (后端有 SchemaSnapshot/SchemaDrift 模型)
- 快照对比可视化
- 数据脱敏规则 (MaskingRule 模型)
- SQL 格式化后端 (sqlparse)
- EXPLAIN 真实解析
- 慢查询实时推送 (WebSocket)
- CSV 导出功能对接
远期 (P3)
- 库级权限控制
- 查询审批工作流
- 多租户支持
- 审批流模板持久化
- 集群模式支持
📊 项目统计
| 指标 | 数值 |
|---|---|
| 总提交 | 56 |
| 源文件 | 326 |
| 后端代码 | ~22,000 行 Python |
| 前端代码 | ~14,000 行 TypeScript/TSX |
| API 路由 | 146 条 |
| 测试用例 | 1,075 个 |
| 数据库表 | 28 张 |
| ORM 模型 | 22 个 |
| 前端页面 | 26 个 |
| 审核规则 | 127 条 |
| 系统配置 | 12 项 |
🏗️ 数据库连接器支持矩阵
| 数据库 | 连接库 | 查询 | 执行 | 审核 | 库表浏览 |
|---|---|---|---|---|---|
| MySQL | aiomysql | ✅ | ✅ | ✅ (67规则) | ✅ |
| PostgreSQL | asyncpg | ✅ | ✅ | ✅ (31规则) | ✅ |
| Redis | redis.asyncio | ✅ | ✅ | ✅ (25规则) | ✅ (Keys树) |
| MongoDB | pymongo | ✅ | ✅ | ✅ (31规则) | ✅ (集合) |
| SQLite | sqlite3 | ✅ | — | — | — |