1. 排行榜悬浮窗关闭后小按钮消失问题 - 修复面板居中模式关闭时按钮位置错误 - 保存并恢复按钮的居中状态 2. 首页tag按钮按素材数量排序 - 添加按素材数量降序排序逻辑 3. 上传弹窗输入框浅色模式文字不可见 - 添加 text-slate-900 确保浅色模式下文字可见 - 添加 placeholder 样式确保占位符正确显示
6.8 KiB
6.8 KiB
部署后操作步骤
📋 当前状态
✅ 应用已成功部署
- 服务器: 45.249.208.118:4320
- 容器名称:
youyidian-3d-material - 健康检查: 通过
⏳ 待完成: 数据库迁移
🚀 立即执行的步骤
步骤 1: SSH连接到服务器
ssh root@45.249.208.118
步骤 2: 进入部署目录
cd /root/deploy
步骤 3: 检查容器状态
# 查看容器是否运行
docker ps | grep youyidian-3d-material
# 查看容器日志
docker logs youyidian-3d-material --tail 50
步骤 4: 应用数据库迁移
# 应用Prisma迁移
docker exec youyidian-3d-material npx prisma migrate deploy
预期输出:
✓ Prisma Migrate applied the following migration(s):
migrations/
└─ 20251213073100_add_template_system_indexes/
步骤 5: 运行数据迁移脚本
# 迁移旧数据
docker exec youyidian-3d-material npm run migrate:template-data
预期输出:
开始数据迁移...
步骤 1: 检查模板version字段...
✓ 所有模板都有version字段
步骤 2: 检查没有templateId的素材...
✓ 所有素材都有templateId
步骤 3: 验证数据完整性...
模板总数: X
有version的模板: X
素材总数(未删除): X
有templateId的素材: X
字段总数: X
有templateId的字段: X
字段池定义总数: X
✓ 数据完整性验证完成
============================================================
迁移报告
============================================================
模板: X/X 有version字段
素材: X/X 有templateId
字段: X/X 有templateId
字段池: X 个定义
============================================================
✓ 数据迁移成功完成!
步骤 6: 验证数据完整性
# 验证数据
docker exec youyidian-3d-material npm run verify:template-data
预期输出:
开始数据验证...
验证 1: 检查模板数据...
验证 2: 检查素材数据...
验证 3: 检查字段数据...
验证 4: 检查字段池数据...
验证 5: 检查孤立数据...
================================================================================
验证报告
================================================================================
模板:
✓ 模板名称完整性
✓ 所有模板都有名称
✓ 模板version字段
✓ 所有模板都有version
✓ 模板materialKind有效性
✓ 所有模板的materialKind都有效
素材:
✓ 素材templateId完整性
✓ 所有素材都有templateId
✓ 素材templateId引用有效性
✓ 所有素材的templateId引用都有效
字段:
✓ 字段templateId完整性
✓ 所有字段都有templateId
✓ 字段key唯一性
✓ 所有字段key在模板内唯一
字段池:
✓ 字段池key唯一性
✓ 所有字段池key唯一
孤立数据:
✓ 没有字段的模板
⚠ X 个模板没有字段(可能是草稿)
✓ 没有素材的模板
⚠ X 个模板没有素材(可能是新建的)
================================================================================
统计信息
================================================================================
模板总数: X (活跃: X)
字段总数: X
素材总数: X
字段池定义: X (启用筛选: X)
================================================================================
✓ 所有验证通过!
步骤 7: 重启容器(可选)
# 如果需要重启容器
docker restart youyidian-3d-material
# 等待几秒后检查状态
sleep 5
docker ps | grep youyidian-3d-material
✅ 验证部署
1. 访问应用
在浏览器中访问以下地址:
- 应用首页: http://45.249.208.118:4320
- 健康检查: http://45.249.208.118:4320/api/health
- 管理后台: http://45.249.208.118:4320/admin
- 模板管理: http://45.249.208.118:4320/admin/templates
2. 功能测试
测试 1: 模板管理
- 访问
/admin/templates - 查看现有模板列表
- 点击"创建模板"
- 填写模板信息并添加字段
- 保存模板
测试 2: 素材上传
- 返回首页
- 点击"上传素材"
- 选择刚创建的模板
- 填写字段信息
- 上传文件
测试 3: 首页筛选
- 返回首页
- 使用Tag筛选功能
- 验证筛选结果正确
3. 查看日志
# 实时查看应用日志
docker logs -f youyidian-3d-material --tail 100
# 查看最近的错误日志
docker logs youyidian-3d-material 2>&1 | grep -i error | tail -20
⚠️ 故障排查
问题 1: 容器未运行
# 检查容器状态
docker ps -a | grep youyidian-3d-material
# 查看容器日志
docker logs youyidian-3d-material --tail 100
# 重启容器
docker restart youyidian-3d-material
问题 2: 数据库连接失败
# 检查数据库连接
docker exec youyidian-3d-material npx prisma db pull
# 查看环境变量
docker exec youyidian-3d-material env | grep DATABASE_URL
问题 3: 迁移脚本失败
# 查看详细错误
docker exec youyidian-3d-material npm run migrate:template-data 2>&1 | tee migration-error.log
# 手动连接数据库检查
docker exec -it youyidian-3d-material npx prisma studio
问题 4: 应用无法访问
# 检查端口映射
docker port youyidian-3d-material
# 检查防火墙
sudo ufw status
# 检查Nginx配置(如果使用)
sudo nginx -t
sudo systemctl status nginx
📊 监控指标
关键指标
# CPU和内存使用
docker stats youyidian-3d-material --no-stream
# 磁盘使用
df -h
# 数据库大小
docker exec youyidian-3d-material npx prisma db execute --stdin <<< "SELECT pg_size_pretty(pg_database_size('your_database_name'));"
🔄 回滚方案
如果部署出现问题,可以回滚到之前的版本:
# 1. 停止当前容器
docker stop youyidian-3d-material
# 2. 使用之前的镜像重新部署
docker run -d \
--name youyidian-3d-material \
-p 4320:3000 \
--env-file /root/deploy/.env.production \
harbor.flnxi.com/flnxi/flnxi-material:previous-tag
# 3. 如果需要回滚数据库
docker exec youyidian-3d-material npx prisma migrate resolve --rolled-back "20251213073100_add_template_system_indexes"
📝 完成后更新任务
完成所有步骤后,更新任务文件:
- [x] 29. 部署到测试环境
- ✅ 备份数据库
- ✅ 部署新代码
- ✅ 容器运行正常
- ✅ 数据库迁移完成
- ✅ 数据验证通过
- ✅ 冒烟测试完成
📞 需要帮助?
- 完整部署文档:
docs/deployment/DEPLOYMENT.md - 快速部署指南:
docs/deployment/quick-deployment-guide.md - 部署检查清单:
docs/deployment/pre-deployment-checklist.md - API文档:
docs/api/template-system-api.md - 用户手册:
docs/user-guide/template-system-guide.md