logo
0
0
WeChat Login
wwyz<gjq@code1024.net>
Refactor order and dict management infrastructure

🚨 生产环境紧急修复 - 文档索引

📌 当前状态

生产环境报错

❌ API request failed with status 500 ❌ 加载机型列表失败 ❌ 系统执行错误

原因:生产数据库字典数据不完整/有重复

解决方案:执行 manual-dict-fix.sql 修复脚本


🚀 立即修复 - 3步完成

第1步:上传文件到服务器

scp manual-dict-fix.sql deploy-production-quickfix.sh user@server:/tmp/

第2步:执行自动化脚本

ssh user@server cd /tmp && chmod +x deploy-production-quickfix.sh ./deploy-production-quickfix.sh

第3步:重启服务

systemctl restart farbic-api # 或根据实际部署方式调整

完成!打开小程序测试机型列表是否正常加载。


📚 文档清单

🔥 紧急修复文档(先看这些)

文件名说明何时使用
QUICK_FIX_COMMANDS.txt快速命令参考卡片需要快速复制命令时
DEPLOYMENT_SUMMARY.md完整修复方案总结执行修复前必读
manual-dict-fix.sql修复SQL脚本在服务器上执行
deploy-production-quickfix.sh自动化部署脚本推荐使用,自动化执行

📖 详细文档(需要深入了解时)

文件名说明何时使用
DEPLOY_TO_PRODUCTION.md详细操作指南需要了解每一步细节
DICT_MERGE_SUMMARY.md数据清理分析报告了解重复数据处理逻辑
字典修复执行指南.md原始执行指南参考初始版本

🔧 诊断工具(问题排查时)

文件名说明何时使用
check-duplicates.py检查重复字典数据分析数据重复问题
check-usage.py检查字典使用情况确定哪些数据在使用
check-fabric-category.py检查面料品类字典验证面料字典完整性
test-deduplication.py测试去重逻辑修复前验证逻辑

📋 修复内容概览

✅ 添加缺失字典

  • elastic弹力绸 (fabric_type)
  • 11个厚度/克重选项 (fabric_thickness)

🧹 清理重复数据

  • 删除 xiang_yun_sha(保留 xiangyunsha,36条订单在用)
  • 删除 distributor, dealer(未使用)
  • 删除重复的 monthly(保留最早的)

🔧 恢复丢失数据

  • 确保 hong_yun_sha红云纱 存在

⚡ 快速决策树

生产环境报错? │ ├─ 熟悉命令行? │ ├─ 是 → 使用 deploy-production-quickfix.sh(自动化) │ └─ 否 → 阅读 DEPLOYMENT_SUMMARY.md(有详细步骤) │ ├─ 想了解修复内容? │ └─ 阅读 DICT_MERGE_SUMMARY.md(数据分析报告) │ ├─ 需要快速复制命令? │ └─ 打开 QUICK_FIX_COMMANDS.txt(命令参考卡) │ └─ 修复失败需要排查? └─ 阅读 DEPLOY_TO_PRODUCTION.md(问题排查章节)

✅ 验证清单

修复完成后,确认以下内容:

数据库层面

  • SQL 脚本执行成功,无错误
  • elastic 字典存在(1条)
  • 厚度/克重字典有11条
  • 没有重复数据
  • 云纱字典完整(xiangyunsha, hong_yun_sha)

服务层面

  • 后端服务重启成功
  • 日志中无错误信息
  • 服务状态正常

业务层面

  • ⭐ 机型列表正常加载(主要问题)
  • 订单列表正常显示
  • 订单创建功能正常
  • 订单详情正确显示

🔄 回滚方案

如果修复出现问题,使用备份快速回滚:

# 恢复备份 mysql -h rm-bp1b4lmu9h1z146g3.mysql.rds.aliyuncs.com \ -u root -p mxsm < backup_YYYYMMDD_HHMMSS.sql # 重启服务 systemctl restart farbic-api

📊 影响评估

风险等级:🟢 低风险

  • 只删除未使用的重复数据
  • 保留所有使用中的字典项
  • 不修改订单和客户表
  • 可以安全回滚

修复时间:⏱️ 约 7-10 分钟

  • 备份:30秒
  • 执行:5秒
  • 验证:1分钟
  • 重启:30秒
  • 测试:5分钟

业务影响:✅ 正面影响

  • 修复:500错误(机型列表)
  • 改进:elastic 显示为中文
  • 增强:厚度/克重下拉选择
  • 清理:冗余重复数据

📞 需要帮助?

执行前疑问

  1. 先阅读 DEPLOYMENT_SUMMARY.md
  2. 查看 QUICK_FIX_COMMANDS.txt

执行中遇到错误

  1. 查看 DEPLOY_TO_PRODUCTION.md 的"问题排查"章节
  2. 检查后端日志:tail -f /var/log/farbic-api/application.log
  3. 验证数据库连接:mysql -h ... -u root -p -e "SELECT 1"

执行后仍有问题

  1. 检查验证清单是否全部通过
  2. 查看服务日志找出具体错误
  3. 必要时使用备份回滚

🎯 关键文件速查

立即修复QUICK_FIX_COMMANDS.txt + deploy-production-quickfix.sh

详细了解DEPLOYMENT_SUMMARY.md + DICT_MERGE_SUMMARY.md

执行脚本manual-dict-fix.sql

问题排查DEPLOY_TO_PRODUCTION.md


💡 重要提示

  1. ⚠️ 必须先备份数据库(脚本会自动备份)
  2. 脚本是幂等的,可以安全重复执行
  3. 🚀 推荐使用自动化脚本,减少人为错误
  4. 📝 保留备份文件,直到确认修复成功
  5. 🧪 修复后立即测试,确保功能正常

🎬 开始修复

现在就执行修复!生产环境正在报错!

# 复制这3条命令到服务器执行 cd /tmp mysql -h rm-bp1b4lmu9h1z146g3.mysql.rds.aliyuncs.com -u root -p mxsm < manual-dict-fix.sql systemctl restart farbic-api

修复完成后,打开小程序测试机型列表!


文档版本:v1.0 创建时间:2025-12-02 最后更新:2025-12-02 状态:✅ 已验证(测试环境成功)