[SEN] 兼容旧媒体路由 path 唯一约束迁移(#95) #96

Merged
ila merged 5 commits from fix/95-sense-media-path-constraint into dev 2026-08-16 19:32:13 +08:00
Owner

关联工单:#95

结果

  • 兼容旧 PostgreSQL sense_media_routes.path 由自动命名 UNIQUE(path) 约束保护的结构。
  • 在事务内锁表并从 pg_catalog 核对唯一约束,只接受明确的单列 UNIQUE(path);复合、多重或冲突结构安全拒绝并整体回滚。
  • 将实际旧约束规范为 GORM 可识别名称,再迁移为 idx_sense_media_routes_path 唯一索引。
  • 为旧非空表补充并回填 source_ready=false、failure_count=0、last_error_code='',不把旧媒体路由伪装为已就绪。
  • 更新 Troubleshooting Wiki、任务归档及只读 docs 镜像。

验证

  • 隔离 PostgreSQL 17 覆盖旧 2 路由、空库、无表、重复执行、唯一性冲突和复合约束回滚。
  • go test ./...、go vet ./...、go build ./... 通过。
  • PostgreSQL 隔离迁移 race 测试通过。
  • 真实本机 Sense 数据库迁移成功:2 条既有路由保留、运行态列无空值、迁移版本登记、唯一索引有效。
  • #70 Windows 包重新构建并完成 Web/SPA/health/MediaMTX smoke;停止后相关端口清空。
  • Wiki 定向同步与一致性检查、git diff --check 通过。

证据

  • 实现提交:3dd4890
  • 排错文档:6257859
  • 待验收归档:d0185ca
  • Task Wiki revision:89f668bc6f3308edbc1ce874c9b0a189dd418d42
  • Troubleshooting Wiki revision:1a452e9aafdfe01580f37f9179584b89516cf992
  • Windows ZIP SHA-256:7E35394F6377F9F4AB0046E8413F29B140D6F301383C54C87CE871B435EF253D

未验证

尚未在客户全新 Windows 主机、客户生产 PostgreSQL 账号和真实获准摄像机环境进行人工验收。Harness strict 仍只受既存 #66/#67 归档格式影响。

关联工单:#95 ## 结果 - 兼容旧 PostgreSQL `sense_media_routes.path` 由自动命名 `UNIQUE(path)` 约束保护的结构。 - 在事务内锁表并从 pg_catalog 核对唯一约束,只接受明确的单列 `UNIQUE(path)`;复合、多重或冲突结构安全拒绝并整体回滚。 - 将实际旧约束规范为 GORM 可识别名称,再迁移为 `idx_sense_media_routes_path` 唯一索引。 - 为旧非空表补充并回填 `source_ready=false`、`failure_count=0`、`last_error_code=''`,不把旧媒体路由伪装为已就绪。 - 更新 Troubleshooting Wiki、任务归档及只读 docs 镜像。 ## 验证 - 隔离 PostgreSQL 17 覆盖旧 2 路由、空库、无表、重复执行、唯一性冲突和复合约束回滚。 - `go test ./...`、`go vet ./...`、`go build ./...` 通过。 - PostgreSQL 隔离迁移 race 测试通过。 - 真实本机 Sense 数据库迁移成功:2 条既有路由保留、运行态列无空值、迁移版本登记、唯一索引有效。 - #70 Windows 包重新构建并完成 Web/SPA/health/MediaMTX smoke;停止后相关端口清空。 - Wiki 定向同步与一致性检查、`git diff --check` 通过。 ## 证据 - 实现提交:`3dd4890` - 排错文档:`6257859` - 待验收归档:`d0185ca` - Task Wiki revision:`89f668bc6f3308edbc1ce874c9b0a189dd418d42` - Troubleshooting Wiki revision:`1a452e9aafdfe01580f37f9179584b89516cf992` - Windows ZIP SHA-256:`7E35394F6377F9F4AB0046E8413F29B140D6F301383C54C87CE871B435EF253D` ## 未验证 尚未在客户全新 Windows 主机、客户生产 PostgreSQL 账号和真实获准摄像机环境进行人工验收。Harness strict 仍只受既存 #66/#67 归档格式影响。
ila added 3 commits 2026-08-15 16:44:19 +08:00
ila added 2 commits 2026-08-16 19:32:04 +08:00
ila merged commit 12e1bff8b4 into dev 2026-08-16 19:32:13 +08:00
Sign in to join this conversation.