Files
plates-server/docs/pilates-database-migration.sql
richarjiang 0edcfdcae9 新增普拉提训练系统的数据库结构和数据导入功能
- 创建普拉提分类和动作数据的SQL导入脚本,支持垫上普拉提和器械普拉提的分类管理
- 实现数据库结构迁移脚本,添加新字段以支持普拉提类型和器械名称
- 更新数据库升级总结文档,详细说明数据库结构变更和数据导入步骤
- 创建训练会话相关表,支持每日训练实例功能
- 引入训练会话管理模块,整合训练计划与实际训练会话的关系
2025-08-15 15:34:11 +08:00

65 lines
1.9 KiB
PL/PgSQL

-- 普拉提数据库结构迁移脚本
-- 此脚本用于将现有的数据库结构升级以支持新的普拉提分类和动作系统
-- 开始事务
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;