Files
Mutual_Fund/sql/risk_level_r1r5_migration.sql

39 lines
2.2 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ---------------------------------------------------------------------
-- 风险等级口径统一迁移:保守/稳健/平衡/进取/激进 → R1-R5
-- 映射:保守=R1 / 稳健=R2 / 平衡=R3 / 进取=R4 / 激进=R5
-- 幂等:UPDATE 仅命中中文值,重复执行无副作用
-- 覆盖表:fin_customer_profile / fin_risk_assessment / portfolio_benchmark
-- ---------------------------------------------------------------------
-- 01 数据迁移(中文值 → R 级)
UPDATE fin_customer_profile SET risk_level = 'R1' WHERE risk_level = '保守';
UPDATE fin_customer_profile SET risk_level = 'R2' WHERE risk_level = '稳健';
UPDATE fin_customer_profile SET risk_level = 'R3' WHERE risk_level = '平衡';
UPDATE fin_customer_profile SET risk_level = 'R4' WHERE risk_level = '进取';
UPDATE fin_customer_profile SET risk_level = 'R5' WHERE risk_level = '激进';
UPDATE fin_risk_assessment SET risk_level = 'R1' WHERE risk_level = '保守';
UPDATE fin_risk_assessment SET risk_level = 'R2' WHERE risk_level = '稳健';
UPDATE fin_risk_assessment SET risk_level = 'R3' WHERE risk_level = '平衡';
UPDATE fin_risk_assessment SET risk_level = 'R4' WHERE risk_level = '进取';
UPDATE fin_risk_assessment SET risk_level = 'R5' WHERE risk_level = '激进';
UPDATE portfolio_benchmark SET risk_level = 'R1' WHERE risk_level = '保守';
UPDATE portfolio_benchmark SET risk_level = 'R2' WHERE risk_level = '稳健';
UPDATE portfolio_benchmark SET risk_level = 'R3' WHERE risk_level = '平衡';
UPDATE portfolio_benchmark SET risk_level = 'R4' WHERE risk_level = '进取';
UPDATE portfolio_benchmark SET risk_level = 'R5' WHERE risk_level = '激进';
-- 02 列注释与数据口径对齐(MODIFY 需带完整列定义,不改动类型/约束)
ALTER TABLE fin_customer_profile
MODIFY COLUMN risk_level VARCHAR(16) NULL
COMMENT '风险等级:R1-R5(R1 最保守,R5 最激进,与产品 risk_level 对齐)';
ALTER TABLE fin_risk_assessment
MODIFY COLUMN risk_level VARCHAR(16) NOT NULL
COMMENT '评定:R1-R5(R1 最保守,R5 最激进)';
ALTER TABLE portfolio_benchmark
MODIFY COLUMN risk_level VARCHAR(16) NOT NULL
COMMENT '客户风险等级:R1-R5(R1 最保守,R5 最激进)';