refactor(database): 放宽survey_sop_result回执字段的长度限制

将receipt_value字段从VARCHAR(1024)改为TEXT,解决多图回执存储超限问题,添加幂等执行判断
This commit is contained in:
andyesfly committed 2026-09-19 15:12:21 +08:00
1 parent 430e5c24f8
commit d581fad237
1 file changed
+21
@@ -0,0 +1,21 @@
-- 勘察 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;