guoyu/Test/sql/检查课件路径一致性.sql

58 lines
2.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 检查课件路径与实际文件是否一致
-- 用于部署前验证
-- 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地址改变不影响功能