feat: 新增饮食记录和分析功能
- 创建饮食记录相关的数据库模型、DTO和API接口,支持用户手动添加和AI视觉识别记录饮食。 - 实现饮食分析服务,提供营养分析和健康建议,优化AI教练服务以集成饮食分析功能。 - 更新用户控制器,添加饮食记录的增删查改接口,增强用户饮食管理体验。 - 提供详细的API使用指南和数据库创建脚本,确保功能的完整性和可用性。
This commit is contained in:
64
sql-scripts/pilates-database-migration.sql
Normal file
64
sql-scripts/pilates-database-migration.sql
Normal file
@@ -0,0 +1,64 @@
|
||||
-- 普拉提数据库结构迁移脚本
|
||||
-- 此脚本用于将现有的数据库结构升级以支持新的普拉提分类和动作系统
|
||||
|
||||
-- 开始事务
|
||||
BEGIN;
|
||||
|
||||
-- 1. 为分类表添加新字段
|
||||
ALTER TABLE t_exercise_categories
|
||||
ADD COLUMN pilates_type ENUM('mat_pilates', 'equipment_pilates') NOT NULL DEFAULT 'mat_pilates' COMMENT '普拉提类型:垫上普拉提或器械普拉提';
|
||||
|
||||
ALTER TABLE t_exercise_categories
|
||||
ADD COLUMN equipment_name VARCHAR(255) NULL COMMENT '器械名称(仅器械普拉提需要)';
|
||||
|
||||
-- 2. 为动作表添加新字段
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN target_muscle_groups TEXT NOT NULL DEFAULT '' COMMENT '主要锻炼肌肉群';
|
||||
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN equipment_name VARCHAR(255) NULL COMMENT '器械名称(器械普拉提专用)';
|
||||
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN beginner_reps INTEGER NULL COMMENT '入门级别建议练习次数';
|
||||
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN beginner_sets INTEGER NULL COMMENT '入门级别建议组数';
|
||||
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN breathing_cycles INTEGER NULL COMMENT '呼吸循环次数(替代普通次数)';
|
||||
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN hold_duration INTEGER NULL COMMENT '保持时间(秒)';
|
||||
|
||||
ALTER TABLE t_exercises
|
||||
ADD COLUMN special_instructions VARCHAR(255) NULL COMMENT '特殊说明(如每侧、前后各等)';
|
||||
|
||||
-- 3. 修改现有字段属性
|
||||
ALTER TABLE t_exercises
|
||||
MODIFY COLUMN description TEXT NULL COMMENT '动作描述';
|
||||
|
||||
-- 提交事务
|
||||
COMMIT;
|
||||
|
||||
-- 验证表结构
|
||||
SELECT
|
||||
COLUMN_NAME,
|
||||
COLUMN_TYPE,
|
||||
IS_NULLABLE,
|
||||
COLUMN_DEFAULT,
|
||||
COLUMN_COMMENT
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_NAME = 't_exercise_categories'
|
||||
AND TABLE_SCHEMA = DATABASE()
|
||||
ORDER BY ORDINAL_POSITION;
|
||||
|
||||
SELECT
|
||||
COLUMN_NAME,
|
||||
COLUMN_TYPE,
|
||||
IS_NULLABLE,
|
||||
COLUMN_DEFAULT,
|
||||
COLUMN_COMMENT
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_NAME = 't_exercises'
|
||||
AND TABLE_SCHEMA = DATABASE()
|
||||
ORDER BY ORDINAL_POSITION;
|
||||
Reference in New Issue
Block a user