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