- 创建普拉提分类和动作数据的SQL导入脚本,支持垫上普拉提和器械普拉提的分类管理 - 实现数据库结构迁移脚本,添加新字段以支持普拉提类型和器械名称 - 更新数据库升级总结文档,详细说明数据库结构变更和数据导入步骤 - 创建训练会话相关表,支持每日训练实例功能 - 引入训练会话管理模块,整合训练计划与实际训练会话的关系
4.4 KiB
4.4 KiB
普拉提数据库设计升级总结
概述
根据完整的普拉提训练资料,对现有的训练分类和动作数据库设计进行了全面升级,以更好地支持垫上普拉提和器械普拉提的管理。
数据库结构变更
1. 分类表 (t_exercise_categories) 新增字段
| 字段名 | 类型 | 说明 |
|---|---|---|
pilates_type |
ENUM('mat_pilates', 'equipment_pilates') | 普拉提类型:垫上普拉提或器械普拉提 |
equipment_name |
VARCHAR(255) | 器械名称(仅器械普拉提需要) |
2. 动作表 (t_exercises) 新增字段
| 字段名 | 类型 | 说明 |
|---|---|---|
target_muscle_groups |
TEXT | 主要锻炼肌肉群 |
equipment_name |
VARCHAR(255) | 器械名称(器械普拉提专用) |
beginner_reps |
INTEGER | 入门级别建议练习次数 |
beginner_sets |
INTEGER | 入门级别建议组数 |
breathing_cycles |
INTEGER | 呼吸循环次数(替代普通次数) |
hold_duration |
INTEGER | 保持时间(秒) |
special_instructions |
VARCHAR(255) | 特殊说明(如每侧、前后各等) |
数据分类架构
垫上普拉提 (Mat Pilates)
- 分类: 垫上普拉提
- 动作数量: 10个经典动作
- 特点: 无需器械,专注基础动作和呼吸控制
器械普拉提 (Equipment Pilates)
1. 核心床 (Reformer)
- 动作数量: 6个
- 主要功能: 脚部练习、核心强化、全身协调
2. 凯迪拉克 (Cadillac)
- 动作数量: 4个
- 主要功能: 弹簧阻力训练、上下肢力量、脊柱控制
3. 普拉提椅 (Chair)
- 动作数量: 5个
- 主要功能: 坐姿训练、平衡挑战、功能性动作
4. 普拉提桶 (Barrel)
- 动作数量: 5个
- 主要功能: 脊柱伸展、侧向柔韧性、平衡训练
数据导入内容
完整动作列表 (共30个动作)
垫上普拉提动作
- 百次拍打 - 核心肌群、呼吸肌群、肩部稳定性
- 卷起 - 核心肌群、脊柱灵活性、腘绳肌柔韧性
- 单腿画圈 - 核心稳定性、髋关节灵活性
- 滚球 - 核心肌群、脊柱柔韧性、平衡感
- 单腿伸展 - 核心肌群、髋屈肌、股四头肌
- 双腿伸展 - 核心肌群、髋屈肌、股四头肌、肩部稳定性
- 脊柱伸展 - 脊柱柔韧性、腘绳肌伸展、核心控制
- 锯式 - 腹斜肌、背部伸肌、脊柱旋转灵活性
- 天鹅式 - 背部伸肌、臀肌、腘绳肌
- 肩桥 - 臀肌、腘绳肌、下背部、脊柱灵活性
器械普拉提动作 (20个)
涵盖核心床、凯迪拉克、普拉提椅、普拉提桶四种器械的专业动作
数据特点
精准的训练参数
- 次数建议: 针对入门级别的具体练习次数
- 组数设置: 部分动作包含多组训练
- 呼吸循环: 特殊动作使用呼吸循环替代次数
- 保持时间: 静态动作的保持时长
- 特殊说明: 详细的练习要求和注意事项
肌肉群定位
每个动作都明确标注主要锻炼的肌肉群,便于:
- 训练计划制定
- 肌肉群平衡分析
- 个性化推荐算法
文件清单
- pilates-database-migration.sql - 数据库结构迁移脚本
- pilates-data-import.sql - 完整数据导入脚本
- pilates-database-upgrade-summary.md - 本总结文档
使用说明
1. 数据库升级步骤
-- 1. 执行结构迁移
source docs/pilates-database-migration.sql;
-- 2. 导入数据
source docs/pilates-data-import.sql;
2. 验证导入结果
-- 查看分类统计
SELECT
ec.name as category_name,
ec.pilates_type,
ec.equipment_name,
COUNT(e.key) as exercise_count
FROM t_exercise_categories ec
LEFT JOIN t_exercises e ON ec.key = e.category_key
GROUP BY ec.key, ec.name, ec.pilates_type, ec.equipment_name
ORDER BY ec.sort_order;
技术改进
1. 模型层更新
- 更新了
ExerciseCategory和Exercise模型 - 添加新字段的 TypeScript 类型定义
- 保持向后兼容性
2. 服务层增强
- 更新
ExercisesService以支持新字段 - 添加普拉提类型和器械名称的辅助方法
- 完善数据导入功能
3. DTO接口扩展
- 扩展
ExerciseDto和ExerciseCategoryDto接口 - 添加训练参数相关字段
- 支持完整的普拉提训练信息
这次升级使数据库能够完整支持专业的普拉提训练管理,为后续的训练计划制定、进度跟踪和个性化推荐提供了坚实的数据基础。