fix/92-sense-capabilities-jsonb
dev
关联工单:#92
旧数据库的 sense_devices.capabilities 是 text NOT NULL DEFAULT '',旧记录保存单值能力;当前模型要求 JSONB,GORM AutoMigrate 因默认值和旧数据无法直接转换而报 SQLSTATE 42804。
sense_devices.capabilities
text NOT NULL DEFAULT ''
修复在原设备迁移事务开头增加 PostgreSQL 兼容步骤:
[]
'[]'::jsonb
go test ./...
go vet ./...
go build ./...
git diff --check
当前用户的 sense 数据库未执行写迁移,Sense/dist 也未替换。合入后必须先备份数据库,再让 #70 交付分支吸收本修复并重新打包,最后执行迁移启动验收。
sense
Sense/dist
No dependencies set.
The note is not visible to the blocked user.
关联工单:#92
根因与修复
旧数据库的
sense_devices.capabilities是text NOT NULL DEFAULT '',旧记录保存单值能力;当前模型要求 JSONB,GORM AutoMigrate 因默认值和旧数据无法直接转换而报 SQLSTATE 42804。修复在原设备迁移事务开头增加 PostgreSQL 兼容步骤:
[];六种受支持单值转 JSON 数组;合法字符串数组规范化。'[]'::jsonb,再继续原 AutoMigrate 和版本登记。验证
go test ./...、go vet ./...、go build ./...通过。git diff --check通过。安全与交付
当前用户的
sense数据库未执行写迁移,Sense/dist也未替换。合入后必须先备份数据库,再让 #70 交付分支吸收本修复并重新打包,最后执行迁移启动验收。