-- ============================================================
-- 精修项落地：DUS/品种保护 —— UPOV TG/53 桃描述符种子（规格 §8.14）
-- ------------------------------------------------------------
-- bre_dus_descriptor / bre_dus_test / bre_dus_observation 三表由 ORM create_all 建表；
-- 此处幂等种入 ~15 条 UPOV TG/53 描述符模板。
-- trait_code → bre_trait.trait_code LEFT JOIN 解析 trait_id（复用性状字典的 ontology_uri 语义）；
-- 无匹配 trait_code 的为自由描述符（trait_id 留空）。descriptor_no 冲突则跳过（DO NOTHING）。
-- ============================================================

INSERT INTO bre_dus_descriptor
    (descriptor_no, trait_id, trait_code, descriptor_name, expression_type, method,
     example_varieties, test_stage, required, remark, uuid, is_deleted, created_time, updated_time)
SELECT
    v.descriptor_no,
    t.id,
    v.trait_code,
    v.descriptor_name,
    v.expression_type,
    v.method,
    v.example_varieties,
    v.test_stage,
    v.required,
    v.remark,
    gen_random_uuid(), false, now(), now()
FROM (VALUES
    ('TG/53/1',  'growth_vigor',  '树势',     'QN', '目测',        '早红珠',       'juvenile',  '1', 'UPOV TG/53 桃特性表'),
    ('TG/53/2',  'flower_type',   '花型',     'PQ', '目测',        '砂子早生',     'evaluation', '1', '蔷薇型/铃型'),
    ('TG/53/3',  NULL,            '叶形',     'PQ', '目测',        '上海水蜜',     'juvenile',  '1', '披针形/卵形'),
    ('TG/53/4',  NULL,            '花期',     'QN', '目测',        '早红珠',       'evaluation', '1', '始花至盛花'),
    ('TG/53/5',  'fruit_shape',   '果形',     'PQ', '目测',        '白凤',         'evaluation', '1', '扁平/扁圆/圆/椭圆/卵圆'),
    ('TG/53/6',  'skin_base_color', '果皮底色', 'PQ', '目测',       '白凤',         'evaluation', '1', '淡绿/绿白/白/浅黄/深黄'),
    ('TG/53/7',  'coloration_depth', '着色程度', 'QN', '目测',      '大久保',       'evaluation', '1', '浅/中/深'),
    ('TG/53/8',  'pubescence',    '茸毛',     'QN', '目测',        '油桃品种',     'evaluation', '1', '无/少/中/多'),
    ('TG/53/9',  NULL,            '果肉色',   'PQ', '目测',        '白凤',         'evaluation', '1', '白/黄/红'),
    ('TG/53/10', NULL,            '离核性',   'QL', '目测',        '离核品种',     'evaluation', '1', '粘核/半离/离核'),
    ('TG/53/11', NULL,            '成熟期',   'QN', '目测',        '早红珠',       'evaluation', '1', '极早/早/中/晚/极晚'),
    ('TG/53/12', NULL,            '风味',     'PQ', '品尝',        '大久保',       'evaluation', '1', '酸/酸甜/甜/浓甜'),
    ('TG/53/13', 'avg_fruit_weight', '平均单果重', 'QN', '称重',    '早红珠',       'evaluation', '1', '数值(g)，连续'),
    ('TG/53/14', 'ssc',           '可溶性固形物', 'QN', '折射仪',   '大久保',       'evaluation', '1', '数值(%)，连续'),
    ('TG/53/15', NULL,            '树性',     'PQ', '目测',        '久保',         'juvenile',  '0', '直立/开张/垂枝')
) AS v(descriptor_no, trait_code, descriptor_name, expression_type, method,
        example_varieties, test_stage, required, remark)
LEFT JOIN bre_trait t ON t.trait_code = v.trait_code AND t.is_deleted = false
ON CONFLICT (descriptor_no) DO NOTHING;
