- 项目名称 Web-Lite Pro → SQL-Platform 全局替换(13处) - Instance 模型新增: access_mode, workflow, excluded_databases, mask_fields - 创建数据源表单: 分区卡片(数据源信息/连接模式/流程/高级配置) - 后端 JSON 字段序列化/反序列化 - 新增 5 个 Instance 字段测试 (133 total)
133 lines
5.1 KiB
Markdown
133 lines
5.1 KiB
Markdown
# SQL-Platform 数据审核平台 - 开发路线图
|
|
|
|
> 项目路径: ~/devops/sql-platform
|
|
> 创建时间: 2025-05-22
|
|
> 当前版本: v0.4.0
|
|
|
|
---
|
|
|
|
## 技术栈
|
|
|
|
| 层 | 技术 |
|
|
|---|---|
|
|
| **前端** | React 19 + TypeScript 5.9 + Vite 7 + Tailwind CSS 3.4 + shadcn/ui + ECharts 6 |
|
|
| **后端** | FastAPI + SQLAlchemy 2 (async) + Pydantic 2 + python-jose + passlib |
|
|
| **数据库** | SQLite (开发) / 目标 MySQL/PostgreSQL (生产) |
|
|
| **部署** | Docker Compose |
|
|
|
|
---
|
|
|
|
## 版本规划
|
|
|
|
### v0.3.0 — 安全加固 + SQL 审核引擎 ✅
|
|
|
|
- [x] **AES-256-GCM 密码加密** — 实例密码加密存储,向后兼容明文
|
|
- [x] **SQL 审核规则引擎** — 10 条内置规则 + 评分系统
|
|
- UPDATE/DELETE 无 WHERE → ERROR
|
|
- DROP TABLE / TRUNCATE → WARNING / ERROR (生产)
|
|
- ALTER TABLE (生产) → ERROR
|
|
- SELECT * → INFO
|
|
- 多语句 → ERROR
|
|
- 大 IN 子句 → WARNING
|
|
- JOIN 无 ON → WARNING
|
|
- LIKE '%...' → INFO
|
|
- [x] **自动审核集成** — 工单提交时自动 SQL 审核 + 评分
|
|
- [x] **操作审计日志** — 全操作覆盖 (instance/user/ticket/query)
|
|
- [x] **审计日志 API** — GET /audit/logs (admin/dba)
|
|
- [x] **审计日志前端页** — /audit-logs 分页+过滤
|
|
- [x] **85 个测试通过** — 44 (Phase 1) + 41 (Phase 3)
|
|
|
|
### v0.2.0 — 前后端对接 ✅
|
|
|
|
- [x] Vite proxy 配置 (/api → localhost:9000)
|
|
- [x] Dashboard 对接真实 API
|
|
- [x] TicketsPage 全功能对接 (列表/创建/详情/审批/执行/统计)
|
|
- [x] InstancePage 对接 (CRUD+连接测试)
|
|
- [x] UsersPage 对接 (CRUD+新建弹窗)
|
|
- [x] QueriesPage 对接 (在线查询)
|
|
- [x] 前端 TypeScript 编译零错误
|
|
- [x] 44 个后端测试全通过
|
|
|
|
### v0.1.0 — 基础骨架 ✅
|
|
|
|
**后端 API 已实现:**
|
|
- [x] JWT 认证 (login/logout/me)
|
|
- [x] 用户 CRUD (admin only)
|
|
- [x] 数据源实例 CRUD + 连接测试 + 列库/列表
|
|
- [x] 工单全流程 (创建/审核/执行) + 统计
|
|
- [x] SQL 查询执行 + 审计日志
|
|
- [x] Dashboard 统计接口
|
|
- [x] 角色权限 (admin/dba/developer/guest)
|
|
|
|
**前端已实现:**
|
|
- [x] 登录页 + 路由守卫
|
|
- [x] Dashboard 仪表盘 (统计卡片 + ECharts 趋势图 + 实例状态 + 待处理工单)
|
|
- [x] 工单管理页 (列表/筛选/详情/新建/审批)
|
|
- [x] 查询审计页 (列表/筛选/详情/新建查询)
|
|
- [x] 数据源管理页 (MySQL/PG/Redis/Mongo 实例)
|
|
- [x] 用户管理 / 角色管理 / 数据权限 / 审核规则 / 工作流 / 自动任务 / 公告管理 / 平台配置 页面骨架
|
|
- [x] API 层 (request.ts + 5 个模块 API)
|
|
- [x] Mock 数据层 (lib/mock.ts)
|
|
- [x] 主题切换 (dark/light)
|
|
|
|
### v0.2.0 — 前后端打通 + 核心功能完善 ✅
|
|
|
|
**已完成:**
|
|
- [x] **44 个后端 API 测试全部通过** (pytest)
|
|
- auth: 8 (登录/登出/token验证/过期/禁用)
|
|
- users: 8 (CRUD/权限/删自己)
|
|
- instances: 8 (CRUD/连接测试mock/权限)
|
|
- tickets: 11 (列表过滤/CRUD/审批/拒绝/执行/统计/分页)
|
|
- query: 4 (SELECT/DROP拒绝/DELETE拒绝/guest禁止)
|
|
- dashboard: 2 (统计数据/未登录)
|
|
- [x] **前端对接真实 API** — 所有页面已替换 mock 数据
|
|
- Dashboard → `/api/v1/dashboard/stats`
|
|
- 工单 → `/api/v1/tickets` (列表/创建/详情/审批/执行/统计)
|
|
- 查询 → `/api/v1/query` (执行+结果展示+敏感字段脱敏)
|
|
- 实例 → `/api/v1/instances` (列表/创建/连接测试)
|
|
- 用户 → `/api/v1/users` (列表/创建/切换状态/删除)
|
|
- [x] **Vite proxy 配置** — `/api` → `http://localhost:9000`
|
|
- [x] **前端 TypeScript 编译通过** — build 无错误
|
|
|
|
**待完成:**
|
|
- [ ] **SQLite → MySQL** 生产数据库迁移支持
|
|
- [ ] **密码加密存储** — Instance.password 字段加密/解密
|
|
- [ ] **SQL 审核引擎** — 基于 AST 的 SQL 规则检查
|
|
- [ ] **工单自动审核** — 提交时自动跑审核规则
|
|
- [ ] **操作审计日志完善** — 所有关键操作记录 AuditLog
|
|
|
|
### v0.3.0 — 审核规则 + 工作流
|
|
|
|
- [ ] **审核规则管理** — 后端 CRUD API + 前端页面
|
|
- [ ] **工作流引擎** — 多级审批、条件审批
|
|
- [ ] **数据权限管理** — 库/表/列级权限控制
|
|
- [ ] **公告管理** — 后端 CRUD + WebSocket 实时推送
|
|
|
|
### v0.4.0 — 高级功能
|
|
|
|
- [ ] **SQL 编辑器** — Monaco Editor + 语法高亮 + 自动补全
|
|
- [ ] **慢查询分析** — 慢查询日志采集 + Explain 执行计划
|
|
- [ ] **数据脱敏** — 查询结果敏感字段自动脱敏
|
|
- [ ] **回滚执行** — 工单执行失败自动回滚
|
|
- [ ] **定时任务** — 自动任务管理 + 定时执行
|
|
|
|
### v0.5.0 — 生产就绪
|
|
|
|
- [ ] **多数据库支持** — PostgreSQL / Redis / MongoDB 实际连接
|
|
- [ ] **WebSocket 通知** — 实时工单状态推送
|
|
- [ ] **LDAP/SSO 集成**
|
|
- [ ] **数据库切换** — 支持 MySQL/PostgreSQL 作为后端存储
|
|
- [ ] **Docker 生产部署** — Nginx 反向代理 + 多阶段构建
|
|
- [ ] **单元测试 + E2E 测试** — 覆盖率 > 60%
|
|
|
|
---
|
|
|
|
## 里程碑时间线
|
|
|
|
| 版本 | 目标日期 | 关键交付 |
|
|
|------|---------|---------|
|
|
| v0.2.0 | 2025-06-05 | 前后端打通,核心功能可用 |
|
|
| v0.3.0 | 2025-06-20 | 审核规则+工作流完善 |
|
|
| v0.4.0 | 2025-07-10 | SQL 编辑器+高级功能 |
|
|
| v0.5.0 | 2025-07-30 | 生产就绪 |
|