migration_algorithm_v3.sql 1.9 KB

12345678910111213141516171819202122232425262728293031
  1. -- ========== 算法3.0 数据库迁移脚本 ==========
  2. -- 请在已有数据库上执行此脚本,新建库请直接使用更新后的 init.sql
  3. SET NAMES utf8mb4;
  4. -- 1. user_profile 表新增字段
  5. ALTER TABLE `user_profile`
  6. ADD COLUMN `spine_length` DECIMAL(5,1) DEFAULT NULL COMMENT '脊柱长度C7-S4(cm,范围30-60)' AFTER `body_height`,
  7. ADD COLUMN `height` DECIMAL(5,1) DEFAULT NULL COMMENT '身高(cm)' AFTER `spine_length`,
  8. ADD COLUMN `weight` DECIMAL(5,1) DEFAULT NULL COMMENT '体重(kg)' AFTER `height`;
  9. -- 2. acupoint 表新增字段
  10. ALTER TABLE `acupoint`
  11. ADD COLUMN `normalized_y` DECIMAL(6,4) DEFAULT NULL COMMENT 'Panjabi归一化Y位置系数(0~1,基于C7-S4脊柱长度)' AFTER `lateral_offset`;
  12. -- 3. user_acupoint 表新增字段
  13. ALTER TABLE `user_acupoint`
  14. ADD COLUMN `coordinate_z` DECIMAL(8,2) DEFAULT NULL COMMENT 'Z坐标(mm,体表=0)' AFTER `coordinate_y`,
  15. ADD COLUMN `confidence` VARCHAR(10) DEFAULT NULL COMMENT '置信度:high=高/medium=中/low=低' AFTER `coordinate_z`;
  16. -- 4. 更新现有穴位的 Panjabi 归一化 Y 位置系数
  17. UPDATE `acupoint` SET `normalized_y` = 0.0000 WHERE `acupoint_code` = 'dazhui';
  18. UPDATE `acupoint` SET `normalized_y` = 0.0780 WHERE `acupoint_code` = 'fengmen';
  19. UPDATE `acupoint` SET `normalized_y` = 0.1200 WHERE `acupoint_code` = 'feishu';
  20. UPDATE `acupoint` SET `normalized_y` = 0.2030 WHERE `acupoint_code` = 'xinshu';
  21. UPDATE `acupoint` SET `normalized_y` = 0.3610 WHERE `acupoint_code` = 'ganshu';
  22. UPDATE `acupoint` SET `normalized_y` = 0.4380 WHERE `acupoint_code` = 'pishu';
  23. UPDATE `acupoint` SET `normalized_y` = 0.4760 WHERE `acupoint_code` = 'weishu';
  24. UPDATE `acupoint` SET `normalized_y` = 0.5520 WHERE `acupoint_code` = 'shenshu';
  25. UPDATE `acupoint` SET `normalized_y` = 0.5520 WHERE `acupoint_code` = 'mingmen';
  26. -- zhongwan / qihai / guanyuan 为绝对定位,normalized_y 保持 NULL