25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
# M06-C IoT 消息数据库变更
|
||
|
||
- 迁移版本:`2026062220`
|
||
- 名称:`m06c_iot_messages`
|
||
|
||
## 新增
|
||
|
||
- `qipai_iot_commands`:13 位命令 ID、状态、请求/回包、发布/ACK/超时和失败原因。
|
||
- `qipai_iot_device_events`:原始/标准化消息、Topic、事件类型、payload 哈希、接收次数。
|
||
- `qipai_iot_dead_letters`:非法 Topic、未知设备和解析失败消息。
|
||
|
||
## 幂等与回滚
|
||
|
||
- 设备事件按租户、设备、Topic 和 payload 哈希唯一;重复消息只增加计数。
|
||
- 死信按 Topic 和 payload 哈希唯一。
|
||
- down 迁移仅删除 M06-C 三张表,不影响设备资产和拓扑。
|
||
|
||
## M06-C-R1 语义收口(2026-08-10)
|
||
|
||
- 本阶段不新增表或迁移版本;沿用既有 JSON 与状态列修正协议语义。
|
||
- 未知厂商结果的事件写 `processing_status=PROTOCOL_ERROR`,原结果保留在 `raw_payload`,标准化结果写 `UNKNOWN_VENDOR_RESULT`,相关命令写 `FAILED/UNKNOWN_VENDOR_RESULT`,并新增协议死信和开放告警。
|
||
- 门锁密码/卡号请求和 `record.content` 在写入 `request_payload/raw_payload/normalized_payload/response_payload` 前哈希与脱敏。
|
||
- `AddDevice` 首 ACK 保持命令 `PUBLISHED`,携带 `subtype/subID` 的最终 ACK 才转 `ACKED` 并创建 701C/701G 拓扑。
|
||
- WSL MySQL 8.4.10 一次性数据库已验证上述语义及裸 `devicewill=close` 离线落库;完整迁移往返仍为 144 up、124 verify、140 down。
|