You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Moodle数据库中查询已删除课程的删除日期?

能否查询Moodle课程的删除日期?

一、通过Moodle系统界面查询(仅管理员权限)

普通师生无权限查看已删除课程,仅站点管理员或拥有moodle/course:viewdeleted权限的用户可操作:

  • 进入站点管理 → 课程 → 已删除课程
  • 在搜索框输入目标课程名称(比如“Mathematics 5a”)
  • 列表中的「删除时间」列直接显示课程被删除的日期

二、通过Moodle数据库查询

Moodle默认不会彻底删除课程,仅标记为已删除,相关信息存储在数据库中:

1. 查找目标已删除课程的删除日期

从mdl_course表(表前缀可能因配置不同变化,比如prefix_)定位课程,deleted=1代表已删除,timemodified是删除时的Unix时间戳,可转换为可读日期:

SELECT 
  id, fullname, shortname, 
  FROM_UNIXTIME(timemodified) AS deleted_date 
FROM mdl_course 
WHERE fullname LIKE '%Mathematics 5a%' 
  AND deleted = 1;

注:若使用PostgreSQL,将FROM_UNIXTIME替换为TO_TIMESTAMP

2. 查询删除操作的详细日志(可选)

如需确认删除人等信息,关联mdl_logstore_standard_log表:

SELECT 
  FROM_UNIXTIME(l.timecreated) AS deleted_date,
  u.username AS deleted_by,
  l.action
FROM mdl_logstore_standard_log l
JOIN mdl_user u ON l.userid = u.id
WHERE l.contextinstanceid = [第一步查到的课程ID]
  AND l.action = 'delete'
  AND l.component = 'core_course';

注意:若课程被手动从数据库中彻底删除(非常规操作),则无法找回删除日期。

内容的提问来源于stack exchange,提问作者D-T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:35:00