fix: Day2就绪 — 删除硬化+索引补全+全局异常处理

## base_service.py — MaterialBase删除硬化
- 新增 BomTable 引用检查(bom_usage_count)
- 物料被BOM引用时禁止删除,提示「请先解除BOM绑定」

## models/base.py + bom.py — 缺失索引补全
- material_base: company_name + is_enabled 添加 index=True
- bom_table: is_enabled 添加 index=True

## __init__.py — 全局异常处理
- @app.errorhandler(ValueError) → 400 + 自定义消息
- @app.errorhandler(404/405) → 标准错误
- @app.errorhandler(Exception) → 500 + 通用消息
  堆栈仅记录服务器日志,不泄露到前端
This commit is contained in:
yueli
2026-07-16 14:14:43 +08:00
parent 382b461b68
commit 23fc10a25f
4 changed files with 40 additions and 6 deletions

View File

@ -26,7 +26,7 @@ class BomTable(db.Model):
remark = db.Column(db.Text, comment='备注')
# ★ 新增:启用状态
is_enabled = db.Column(db.Boolean, default=True, comment='是否启用')
is_enabled = db.Column(db.Boolean, default=True, index=True, comment='是否启用') # ★ 状态过滤高频列
# 约束: 保证同一版本下的父子对唯一,允许不同版本存在
__table_args__ = (