У меня нет полного ответа для вас, но могу вам сказать, что я также администрирую систему Moodle 2.7, а таблица prefix_assignment_submissions
также не имеет записей.
Кроме того, я могу дать вам следующий запрос, который я написал, чтобы сообщить о окончательных оценках курса. Мы используем этот запрос для моделирования хранения в течение семестра и для импорта окончательных оценок в нашу студенческую информационную систему в конце каждого срока, где idnumber
в таблице mdl_course
всегда будет соответствовать коду курса, за которым следует код года/термина в нашем студенческая информационная система. Я думаю, что это может быть полезно из-за того, как он использует таблицу mdl_grade_items
: в этой таблице больше itemtypes
, чем только course
. В этой таблице неклассифицированный элемент будет иметь значение NULL
в поле finalgrade
. К сожалению, я не знаю внутренних компонентов Moodle, чтобы гарантировать, что в каждой таблице будет запись в каждой таблице, но это исходное место.
SELECT u.username,u.lastname, u.firstname,c.shortname, left(c.idnumber, character_length(c.idnumber)-6) AS crs_cde,
right(c.idnumber,5) as yearterm,cast((gg.finalgrade/case when gi.grademax = 0 then 1 else gi.grademax end) * 100 as numeric(5,2)) finalgrade,
(SELECT l.letter
FROM mdl_context x
INNER JOIN mdl_grade_letters l ON l.contextid = x.id
WHERE x.instanceid in (c.id, 0) and l.lowerboundary <= round((gg.finalgrade/case when gi.grademax = 0 then 1 else gi.grademax end)*100,2)
ORDER BY x.id desc, lowerboundary desc limit 1) letter
FROM mdl_grade_grades gg
INNER JOIN mdl_grade_items gi ON gi.id=gg.itemid
INNER JOIN mdl_user u ON u.id=gg.userid
INNER JOIN mdl_course c on c.id = gi.courseid
INNER JOIN mdl_course_categories c2 on c2.id = c.category
WHERE gi.itemtype='course' and c2.visible = 1 and gg.finalgrade is not null
and char_length(c.idnumber) > 0 and right(c.idnumber,5)='20151';
Мы переехали из MySQL в PostgreSQL, когда мы обновили до 2.7, но только изменения, которые я должен сделать, чтобы наши запросы были для обработки дат.
Следует также отметить, что модуль назначения был полностью переработан для версии 2.3, и многие документы для 2.3, 2.4, 2.5 и т. Д. Были просто скопированы из предыдущей версии. Я видел, что другие изменения были упущены этим процессом. Это особенно относится к чему-то вроде отчета. Возможно, вы все еще видите sql, который недействителен с 2.3.
Какой двигатель db использует moodle? MySql? –
Этот код использует плагин customSQL для Moodle, но это MySQL на сервере. – jldugger