# 产品 step5 提交报「字段【name】内容过长」修复

> **服务**: hl-product-service-v2 (端口 8083)
> **PR**: #2412
> **Issue**: #2411
> **日期**: 2026-05-16
> **影响范围**: 产品编辑 step5「补充信息」提交审核

---

## 一、背景

正式环境 admin.1814.love 产品编辑页点「提交审核」时弹出:

> 字段【name】内容过长，请删减后重试

实测复现产品 ID `2055092537149804545`(一次把呼伦贝尔玩进童年的亲子旅行)。

**根因**: `product_fee_item.name` 列原定义 `VARCHAR(128)`。线上已有产品该列最长值 106 字符(「游玩项目」类列表型费用项,串联多个景点名),用户在 step5 再追加一两个景点名即破 128,触发 MySQL `Data too long for column 'name'`。

---

## 二、变更接口清单

| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
|---|------|------|------|----------|------|
| 1 | step5 补充信息保存 | POST | `/admin/product/{id}/supplement` | DB 列长度扩容 | name 字段从 128→512 字符 |

接口契约**完全不变**,只是底层存储不再因字符过长失败。前端无需任何代码改动。

---

## 三、数据库变更

```sql
ALTER TABLE `product_fee_item`
  MODIFY COLUMN `name` VARCHAR(512) DEFAULT NULL COMMENT '名称';
```

- 正式 RDS 已于 2026-05-16 13:13 手动 ALTER 生效(用户授权)
- 测试服: 下次部署跑 Flyway `V20260516_001` 自动生效(幂等)
- dev: schema.sql 第 288 行同步更新

---

## 四、边界行为

- 接口层(VO)**无字符长度校验**,前端只要 payload 合法,后端不会再因 name 长度报错
- 原本已经存进 DB 的 ≤128 字符行不受影响

---

## 五、不影响范围

- **仅影响**: 管理后台产品编辑 step5 费用项 name 字段写入
- **零影响**:
  - 任何 C 端接口
  - 订单 / 商家 / 资源服务
  - step1-step4 任何字段
  - product_fee_item 其它列(description / unit_price 等)

---

## 六、测试环境验证(待回归)

- [x] 正式 RDS `DESC product_fee_item` 验证 name 列已是 `varchar(512)`
- [ ] 测试服部署完后,复现产品 step5 提交不再报「字段【name】内容过长」(由 mmg 部署后回归)

---

## 七、相关文档

- 关联 Issue: [wx/HL#2411](https://git.1814.love:8443/wx/HL/issues/2411)
- 关联 PR: [wx/HL#2412](https://git.1814.love:8443/wx/HL/pulls/2412)
