# Change: 扩展心跳消息与分区表以支持电力/空调数组(v3) ## Why 当前心跳数据仅落库基础字段与 extra,无法按需查询与聚合“电力设备/空调设备”的细粒度状态;需要将数组结构拆列为数据库数组列,并对指定列提供数组元素索引。 ## What Changes - **Kafka**:新增可选字段 `electricity[]`、`air_conditioner[]` 以及元素字段定义 - **Processor**:新增数组字段类型校验与“按原始顺序聚合为列数组”的转换规则 - **DB**:在 `heartbeat.heartbeat_events` 新增数组列,并为 `elec_address/air_address/state/model` 建立 GIN 索引(数组元素查询) - **Docs/Tests**:更新 producer 与 schema 文档;补充单元测试与冒烟验证 ## Impact - Affected specs: `openspec/specs/kafka`, `openspec/specs/processor`, `openspec/specs/db` - Affected code: `src/processor/heartbeatProcessor.js`, `src/db/databaseManager.js`, `scripts/db/*.sql`, `docs/*`, `test/*`