Files
smart_grid_iot/database/migrations/20260915_survey_sop_receipt.sql
T
andyesfly d581fad237 refactor(database): 放宽survey_sop_result回执字段的长度限制
将receipt_value字段从VARCHAR(1024)改为TEXT,解决多图回执存储超限问题,添加幂等执行判断
2026-09-19 15:12:21 +08:00

22 lines
863 B
PL/PgSQL

-- 勘察 SOP 工单回执:receipt_value 由 VARCHAR(1024) 放宽为 TEXT
-- 背景:现场回执需按检查项存「照片对象 key 的 JSON 数组」(如「现场照片 ≥ 3 张」),
-- VARCHAR(1024) 约装 20 个 key 即触顶,多图回执写库会直接报错。
-- 幂等:先判断当前列类型,非 text 才 ALTER,可重复执行。
BEGIN;
DO $$
BEGIN
IF EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'survey_sop_result'
AND column_name = 'receipt_value'
AND data_type <> 'text'
) THEN
ALTER TABLE survey_sop_result ALTER COLUMN receipt_value TYPE TEXT;
END IF;
END $$;
COMMENT ON COLUMN survey_sop_result.receipt_value IS '回执内容(照片对象key的JSON数组字符串 / 表单文本值 / 测仪截图key的JSON数组字符串)';
COMMIT;