20251222
This commit is contained in:
131
tempdocs/修复说明.md
Normal file
131
tempdocs/修复说明.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# ✅ 修复完成:使用 JSON 文件替代 MySQL
|
||||
|
||||
## 🔧 问题与解决
|
||||
|
||||
### 原问题
|
||||
启动时弹出错误:`Can't connect to MySQL server on 'localhost'`
|
||||
|
||||
### 根本原因
|
||||
- MySQL 运行在 Docker 容器中,端口未映射到宿主机
|
||||
- 远程 MySQL 连接复杂,需要 SSH 隧道
|
||||
|
||||
### 最终方案 ✅
|
||||
**使用 SSH + JSON 文件存储版本信息**
|
||||
|
||||
- ✅ 不需要配置 MySQL
|
||||
- ✅ 不需要额外的库(sshtunnel, pymysql)
|
||||
- ✅ 更简单、更可靠
|
||||
- ✅ 版本信息存储在服务器:`/var/www/app_versions/.deployments.json`
|
||||
|
||||
---
|
||||
|
||||
## 📦 当前依赖(精简版)
|
||||
|
||||
```
|
||||
PyQt5 # GUI 界面
|
||||
requests # API 请求
|
||||
paramiko # SSH 连接
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🗄️ 数据存储方式
|
||||
|
||||
### JSON 文件位置
|
||||
```
|
||||
/var/www/app_versions/.deployments.json
|
||||
```
|
||||
|
||||
### 文件格式
|
||||
```json
|
||||
{
|
||||
"deployments": [
|
||||
{
|
||||
"version": "20231220_153045",
|
||||
"deployed_at": "2023-12-20 15:30:45",
|
||||
"is_current": true,
|
||||
"file_size_mb": 12.5,
|
||||
"comment": "修复主题同步bug"
|
||||
},
|
||||
{
|
||||
"version": "20231220_102030",
|
||||
"deployed_at": "2023-12-20 10:20:30",
|
||||
"is_current": false,
|
||||
"file_size_mb": 12.3,
|
||||
"comment": "初始版本"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 现在可以正常使用
|
||||
|
||||
### 1. 启动工具
|
||||
```bash
|
||||
cd AdminTool
|
||||
python admin_gui.py
|
||||
```
|
||||
|
||||
**不会再弹出数据库错误!** ✅
|
||||
|
||||
### 2. 测试系统
|
||||
```bash
|
||||
cd AdminTool
|
||||
python test_version_system.py
|
||||
```
|
||||
|
||||
应该看到:
|
||||
```
|
||||
✅ 测试完成!版本管理系统一切正常
|
||||
```
|
||||
|
||||
### 3. 开始部署
|
||||
1. 构建前端:`cd Designer && npm run build:core`
|
||||
2. 打开 GUI,切换到"自动化部署"
|
||||
3. 选择 `dist_core` 目录
|
||||
4. 点击"🚀 部署到服务器"
|
||||
|
||||
---
|
||||
|
||||
## 🎯 功能验证清单
|
||||
|
||||
- [x] SSH 连接服务器
|
||||
- [x] 创建版本目录
|
||||
- [x] 读写 JSON 文件
|
||||
- [x] 部署新版本
|
||||
- [x] 显示版本历史
|
||||
- [x] 回滚到历史版本
|
||||
- [x] 删除旧版本
|
||||
|
||||
---
|
||||
|
||||
## 📝 优势对比
|
||||
|
||||
### 之前(MySQL)
|
||||
- ❌ 需要 MySQL 服务器
|
||||
- ❌ 需要配置数据库连接
|
||||
- ❌ 需要 SSH 隧道
|
||||
- ❌ 依赖多(pymysql, sshtunnel)
|
||||
- ❌ Docker 端口映射问题
|
||||
|
||||
### 现在(JSON 文件)
|
||||
- ✅ 只需要 SSH 访问
|
||||
- ✅ 自动创建文件
|
||||
- ✅ 依赖少(只需 paramiko)
|
||||
- ✅ 简单可靠
|
||||
- ✅ 易于备份和查看
|
||||
|
||||
---
|
||||
|
||||
## 🎊 总结
|
||||
|
||||
**问题已完全解决!** 现在可以:
|
||||
1. 正常启动 GUI(不会弹窗)
|
||||
2. 部署新版本
|
||||
3. 管理版本历史
|
||||
4. 随时回滚
|
||||
|
||||
**下一步**:开始使用部署功能!
|
||||
|
||||
Reference in New Issue
Block a user