-- ============================================================ -- 现代桃育种领域覆盖·抗病性状 + 需冷量/需热量 trait 字典种子(2026-08-04) -- 背景:bre_trait 字典原 66 行(6 标签页:基本鉴定/果实外观/果皮/果实大小/果肉/果核) -- 「其它」标签页由用户自定义追加。缺口: -- ③ 细菌性穿孔病 / 褐腐病 / 白粉病——减药育种核心目标,原字典一条都没有; -- ② 需冷量/需热量——原字典无,只存在于 germplasm 属性(bre_germplasm.chilling_requirement) -- 与环境侧(bre_environment_condition.chilling_hours/GDD);选种性状侧缺失。 -- 设计:统计引擎(EBV/选择指数)仅消费 data_type='numeric' 的性状(_trait_meta_map 过滤), -- 故抗病/需冷量全部建 numeric 病情指数/小时数,direction=asc(低值优),into_ebv='1' 进选种目标。 -- · 抗病用 0-5 级病情指数(0=免疫 1=高抗 2=抗 3=中抗 4=感 5=高感),direction=asc -- · 需冷量 = 品种打破自然休眠所需 0~7.2℃ 低温累计小时数(h),direction=asc(低需冷适应暖区) -- · 需热量 = 发芽前 >7.2℃ 有效积温(GDD),direction=asc(低需热早熟/暖区) -- 幂等:以 trait_code 冲突则更新(不动 uuid/created_time),同 bre_trait_seed.sql 惯例。 -- ============================================================ INSERT INTO bre_trait (trait_code, trait_name, category, data_type, unit, is_core, scale_json, uuid, is_deleted, created_time, direction, into_ebv, default_h2, valid_min, valid_max, stage, method) VALUES -- ③ 抗病性(numeric 0-5 级病情指数,越低越抗)-------------------- ('disease_shot_hole', '细菌性穿孔病', '抗病性', 'numeric', '级', '1', NULL, md5(random()::text||'disease_shot_hole'), false, now(), 'asc', '1', 0.3, 0, 5, 'evaluation', '田间自然发病病情指数 0-5 级(0免疫/1高抗/2抗/3中抗/4感/5高感)'), ('disease_brown_rot', '褐腐病', '抗病性', 'numeric', '级', '1', NULL, md5(random()::text||'disease_brown_rot'), false, now(), 'asc', '1', 0.3, 0, 5, 'evaluation', '果实/花器褐腐病病情指数 0-5 级(低=抗)'), ('disease_powdery_mildew','白粉病', '抗病性', 'numeric', '级', '1', NULL, md5(random()::text||'disease_powdery_mildew'), false, now(), 'asc', '1', 0.3, 0, 5, 'evaluation', '叶/果白粉病病情指数 0-5 级(低=抗)'), -- ② 生态适应性(需冷量/需热量,低值=暖区适应/早熟)--------------- ('chilling_requirement', '需冷量', '生态适应性', 'numeric', 'h', '1', NULL, md5(random()::text||'chilling_requirement'), false, now(), 'asc', '1', 0.5, 0, 3000, 'evaluation', '打破自然休眠所需 0~7.2℃ 低温累计小时数(品种需冷量)'), ('heat_requirement', '需热量', '生态适应性', 'numeric', 'GDD', '1', NULL, md5(random()::text||'heat_requirement'), false, now(), 'asc', '1', 0.4, 0, 10000, 'evaluation', '发芽前 >7.2℃ 有效积温生长度日(品种需热量)') ON CONFLICT (trait_code) DO UPDATE SET trait_name = EXCLUDED.trait_name, category = EXCLUDED.category, data_type = EXCLUDED.data_type, unit = EXCLUDED.unit, is_core = EXCLUDED.is_core, scale_json = EXCLUDED.scale_json, direction = EXCLUDED.direction, into_ebv = EXCLUDED.into_ebv, default_h2 = EXCLUDED.default_h2, valid_min = EXCLUDED.valid_min, valid_max = EXCLUDED.valid_max, stage = EXCLUDED.stage, method = EXCLUDED.method, updated_time = now();