dy-dashboard/vault/知识库/工作指南/训练记录/2026-07-08-权限修复与升级脚本数据库迁移.md
2026-10-28 11:14:17 +08:00

30 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-07-08 查看者新增产品权限修复 & 升级脚本增加数据库自动迁移
## 1. 修复查看者角色无法在产品信息管理下新增商品的问题
**旭东 → OpenClaw:**
> 角色为查看者的用户还是无法在产品信息管理下新增商品,填完信息之后提示仅管理员可操作
**OpenClaw 响应:**
排查发现后端 `product_create()` 的权限检查逻辑与前端 `_hasPagePerm()` 默认值不一致:前端"没设置时默认有权限",后端"没记录时直接拒绝"。修复后端逻辑,改为"有明确设置则按设置走,没设置过默认放行",与前端的默认 true 一致。
## 2. 生产环境升级后计划预测页面报错
**旭东 → OpenClaw:**
> 生产环境的系统里面计划预测刷新不出来数据了
**OpenClaw 响应:**
排查发现两个问题:
1. Gunicorn 因端口冲突反复重启失败(旧进程未完全杀掉)
2. 重启成功后 `warehouses` 表缺少 `warehouse_property` 列导致 `/api/planning/list` 返回 500
手动加列后恢复正常。
## 3. 升级脚本增加数据库自动迁移
**旭东 → OpenClaw:**
> 需要加一个数据库结构检查的逻辑,后面我使用升级脚本升级的时候可以一次性升级成功
**OpenClaw 响应:**
新增 `migrate_db.py` 自动检查并补全缺失的列/表(products.deleted_at、warehouses.warehouse_property、suppliers 扩展字段等),并将 `upgrade_prod.sh` 从 4 步改为 5 步,升级脚本第 3 步自动执行数据库迁移。