58 lines
2.0 KiB
MySQL
58 lines
2.0 KiB
MySQL
|
|
-- 检查课件路径与实际文件是否一致
|
|||
|
|
-- 用于部署前验证
|
|||
|
|
|
|||
|
|
-- 1. 查看数据库中的课件记录
|
|||
|
|
SELECT
|
|||
|
|
id AS 课件ID,
|
|||
|
|
courseware_name AS 课件名称,
|
|||
|
|
type AS 类型,
|
|||
|
|
file_path AS 数据库路径,
|
|||
|
|
duration AS 时长秒,
|
|||
|
|
CASE
|
|||
|
|
WHEN duration IS NULL OR duration = 0 THEN '⚠️ 时长缺失'
|
|||
|
|
ELSE '✓ 有时长'
|
|||
|
|
END AS 时长状态,
|
|||
|
|
CONCAT('期望文件位置: D:/ruoyi/uploadPath', REPLACE(file_path, '/profile', '')) AS 服务器文件路径,
|
|||
|
|
CONCAT('访问URL: http://服务器IP:30091', file_path) AS 访问地址
|
|||
|
|
FROM study_courseware
|
|||
|
|
WHERE course_id = 1 -- 修改为你的课程ID
|
|||
|
|
ORDER BY courseware_order;
|
|||
|
|
|
|||
|
|
-- 2. 检查路径格式是否正确
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
courseware_name,
|
|||
|
|
file_path,
|
|||
|
|
CASE
|
|||
|
|
WHEN file_path LIKE '/profile/upload/%' THEN '✓ 路径格式正确'
|
|||
|
|
WHEN file_path LIKE 'profile/upload/%' THEN '⚠️ 缺少前导斜杠'
|
|||
|
|
WHEN file_path LIKE 'http://%' THEN '❌ 不应包含完整URL'
|
|||
|
|
ELSE '❌ 路径格式错误'
|
|||
|
|
END AS 路径检查
|
|||
|
|
FROM study_courseware
|
|||
|
|
WHERE course_id = 1;
|
|||
|
|
|
|||
|
|
-- 3. 统计课件状态
|
|||
|
|
SELECT
|
|||
|
|
type AS 类型,
|
|||
|
|
COUNT(*) AS 数量,
|
|||
|
|
SUM(CASE WHEN duration IS NULL OR duration = 0 THEN 1 ELSE 0 END) AS 时长缺失数量,
|
|||
|
|
ROUND(AVG(CASE WHEN duration > 0 THEN duration ELSE NULL END), 2) AS 平均时长秒
|
|||
|
|
FROM study_courseware
|
|||
|
|
WHERE course_id = 1
|
|||
|
|
GROUP BY type;
|
|||
|
|
|
|||
|
|
-- 4. 部署前修复建议
|
|||
|
|
-- 为duration=0的视频设置默认时长(根据实际情况调整)
|
|||
|
|
-- UPDATE study_courseware
|
|||
|
|
-- SET duration = 60 -- 假设平均1分钟
|
|||
|
|
-- WHERE course_id = 1
|
|||
|
|
-- AND type = 'video'
|
|||
|
|
-- AND (duration IS NULL OR duration = 0);
|
|||
|
|
|
|||
|
|
-- 说明:
|
|||
|
|
-- 1. 数据库存储的file_path是相对路径,如:/profile/upload/2025/12/05/xxx.mp4
|
|||
|
|
-- 2. 实际文件应该在:D:/ruoyi/uploadPath/upload/2025/12/05/xxx.mp4
|
|||
|
|
-- 3. 访问URL会动态拼接:http://服务器IP:30091/profile/upload/2025/12/05/xxx.mp4
|
|||
|
|
-- 4. 只要文件存在于正确位置,IP地址改变不影响功能
|