Files
zjpb.net/INCREMENTAL_DEPLOY.md
Jowe 30b1ef75d6 release: v2.1 - Prompt管理系统、页脚优化、图标修复
新增功能:
- Prompt管理:后台新增Prompt模板管理功能
- 数据库迁移:新增prompt_templates表及默认数据
- 页脚优化:添加ICP备案号(浙ICP备2025154782号-1)和Microsoft Clarity统计
- 图标修复:详情页Material Icons替换为Emoji
- 标签显示:修复编辑页标签名称无法显示的问题

技术改进:
- 添加正则表达式提取标签名称
- 优化页脚样式和链接
- 完善增量部署文档

🚀 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 00:45:39 +08:00

4.3 KiB
Raw Blame History

ZJPB v2.1 增量部署指南

📋 本次更新内容

新增功能

  1. Prompt管理系统 - 后台可管理AI提示词模板
  2. 详情页图标优化 - Material Icons替换为Emoji
  3. 标签显示修复 - 修复编辑页标签名称无法显示问题
  4. 页脚优化 - 添加ICP备案号和Microsoft Clarity统计

数据库变更

  • 新增表:prompt_templates Prompt模板表
  • 无现有表结构变更,完全兼容旧数据

🔒 增量部署步骤

第一步:备份生产数据库(必须!)

在1Panel中备份数据库

# 方法1使用1Panel面板
1. 进入1Panel -> 数据库
2. 找到 ai_nav 数据库
3. 点击"备份"按钮
4. 下载备份文件到本地保存

# 方法2使用命令行
mysqldump -h 112.124.42.38 -u ai_nav_user -p ai_nav > backup_$(date +%Y%m%d_%H%M%S).sql

第二步:停止生产应用

# SSH登录到生产服务器
ssh root@your-server-ip

# 进入应用目录
cd /www/wwwroot/zjpb

# 停止应用
./manage.sh stop

第三步:备份现有代码

# 创建备份目录
cd /www/wwwroot
cp -r zjpb zjpb_backup_$(date +%Y%m%d_%H%M%S)

第四步:上传新代码

方法1使用Git推荐

# 在本地提交所有修改
git add .
git commit -m "release: v2.1 - Prompt管理系统、页脚优化、图标修复"
git push origin master

# 在服务器上拉取
cd /www/wwwroot/zjpb
git pull origin master

方法2手动上传

# 在本地压缩(排除不需要的文件)
zip -r zjpb_v2.1.zip . -x "*.pyc" "*__pycache__*" "*.git*" ".env" "venv/*" "test_*.py" "*.db" "nul"

# 上传到服务器 /www/wwwroot/zjpb_new.zip
# 然后解压覆盖
cd /www/wwwroot/zjpb
unzip -o ../zjpb_new.zip

第五步:安装新依赖(如有)

cd /www/wwwroot/zjpb
source venv/bin/activate
pip install -r requirements.txt

第六步:运行数据库迁移

# 激活虚拟环境
source venv/bin/activate

# 运行迁移脚本(创建 prompt_templates 表)
python migrate_prompts.py

预期输出:

正在创建 prompt_templates 表...
[OK] 表创建成功
正在初始化默认prompt模板...
[OK] 默认prompt模板初始化成功
  - 标签生成: 1
  - 主要功能生成: 2
  - 详细介绍生成: 3

第七步:重启应用

./manage.sh start

第八步:验证部署

检查项:

  1. 访问前台首页

    • 检查页脚是否显示ICP备案号
    • 检查Clarity统计是否加载F12查看Network
  2. 访问详情页

    • 检查图标是否正常显示不是Material Icons文本
  3. 登录后台

    • 检查是否有"Prompt管理"菜单
    • 进入Prompt管理查看是否有3条默认数据
  4. 测试网站编辑

    • 编辑任意网站,检查标签是否正常显示(不是空白蓝框)
  5. 测试AI功能

    • 创建新网站,测试"AI生成标签"功能
    • 测试"AI生成详细介绍"功能
    • 测试"AI生成主要功能"功能

🔄 回滚方案(如出现问题)

快速回滚代码

cd /www/wwwroot
./zjpb/manage.sh stop

# 删除新版本
rm -rf zjpb

# 恢复备份
mv zjpb_backup_YYYYMMDD_HHMMSS zjpb

# 重启
cd zjpb
./manage.sh start

恢复数据库

# 如果新表导致问题,可以删除新表
mysql -h 112.124.42.38 -u ai_nav_user -p ai_nav

# 在MySQL中执行
DROP TABLE IF EXISTS prompt_templates;

📝 注意事项

  1. 本次更新不会影响现有数据 - 只是新增表,不修改现有表
  2. 完全向后兼容 - 即使不运行迁移脚本,前台也能正常访问
  3. 可以随时回滚 - 保留了完整备份
  4. ⚠️ 必须备份数据库 - 虽然风险很低,但备份是必须的
  5. ⚠️ 检查.env配置 - 确保生产环境的.env配置正确

🐛 常见问题

Q1: 迁移脚本报错 "表已存在"

A: 说明之前已经运行过迁移,可以跳过此步骤

Q2: Prompt管理菜单看不到

A: 清除浏览器缓存,重新登录后台

Q3: 标签还是显示不出来

A: 清除浏览器缓存强制刷新Ctrl+F5

Q4: Clarity统计没加载

A: 检查网络是否能访问 clarity.ms可能被墙


📞 技术支持

如遇问题,请检查日志:

# 查看应用日志
./manage.sh logs

# 查看错误日志
tail -f logs/error.log