# ✅ 修复完成:使用 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. 随时回滚 **下一步**:开始使用部署功能!