flnxi-Wu/docs/deployment/部署后操作步骤.md
WuYongJie 63ec6b7dfb fix: 修复排行榜按钮消失、tag排序和输入框浅色模式问题
1. 排行榜悬浮窗关闭后小按钮消失问题
   - 修复面板居中模式关闭时按钮位置错误
   - 保存并恢复按钮的居中状态

2. 首页tag按钮按素材数量排序
   - 添加按素材数量降序排序逻辑

3. 上传弹窗输入框浅色模式文字不可见
   - 添加 text-slate-900 确保浅色模式下文字可见
   - 添加 placeholder 样式确保占位符正确显示
2025-12-14 21:41:29 +08:00

6.8 KiB
Raw Blame History

部署后操作步骤

📋 当前状态

✅ 应用已成功部署

  • 服务器: 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. 访问应用

在浏览器中访问以下地址:

2. 功能测试

测试 1: 模板管理

  1. 访问 /admin/templates
  2. 查看现有模板列表
  3. 点击"创建模板"
  4. 填写模板信息并添加字段
  5. 保存模板

测试 2: 素材上传

  1. 返回首页
  2. 点击"上传素材"
  3. 选择刚创建的模板
  4. 填写字段信息
  5. 上传文件

测试 3: 首页筛选

  1. 返回首页
  2. 使用Tag筛选功能
  3. 验证筛选结果正确

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