diff --git a/database/migrations/20260915_survey_sop_receipt.sql b/database/migrations/20260915_survey_sop_receipt.sql new file mode 100644 index 0000000..e9005fd --- /dev/null +++ b/database/migrations/20260915_survey_sop_receipt.sql @@ -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;