Files
qipai/docs/db-changelog/2026-06-22-M06-C-iot-messages.md
T
2026-08-10 16:28:11 +08:00

25 lines
1.4 KiB
Markdown
Raw 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.
# 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。