Структура базы данных Moodle

Структура базы данных Moodle

от Michael Makushkin -
Количество ответов: 5

Делаю добавление пользователей в moodle из внешней программы.

для добавления роли пользователю требуется добавить строку в таблицу mdl_role_assignments в которой есть поле contextid, это поле связано с таблицей "mdl_context", в ней есть поле "instanceid", с какой таблицей оно связано? откуда берется это значение?

также не понятны столбцы contextlevel, path, помогите разобраться?

В ответ на Michael Makushkin

Re: Структура базы данных Moodle

от Vadim Tabunshchik -
Изображение пользователя Developers

есть поле "instanceid", с какой таблицей оно связано? откуда берется это значение?

Это поле связано, как минимум, с полями 5-ти таблиц. "На пальцах" объяснять долго и сложно. Посмотрите здесь: http://docs.moodle.org/dev/Database_schema_introduction

не понятны столбцы contextlevel, path

contextlevel - это контекст, в котором назначены права пользователю. Значения полей в этой таблице означают следующее:

'CONTEXT_SYSTEM', 10 - контекст системы (всего сайта)
'CONTEXT_USER', 30 - пользователь
'CONTEXT_COURSECAT', 40 - кат. курсов
'CONTEXT_COURSE', 50 - курс
CONTEXT_MODULE', 70 - модуль
CONTEXT_BLOCK', 80 - блок
взято из файла moodle/lib/accesslib.php

path - это "вложенность" (глубина вложения) данного назначения. Чем длиннее путь, тем ниже уровень, т. е. от системы (верхний уровень) к блоку (нижний ур.).

Имхо, наживете себе неприятностей на одно место. Почему просто не добавлять пользователей с правами через CSV-файл?

В ответ на Vadim Tabunshchik

Re: Структура базы данных Moodle

от Alexey Piguzov -

Подскажите, уважаемые, изменилась ли структура базы данных в версии 2.7? И где посмотреть актуальную структуру. По документации искал, но там только описание старых.

В ответ на Alexey Piguzov

Re: Структура базы данных Moodle

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Естественно, структура БД меняется при смене версий. Но в рамках одной версии структура БД не меняется. Изменений может быть немало, добавляются новые таблицы, например в 2,7 появилась новая система логирования и соответствующие таблицы. Для сравнения можно сделать выборку файлов install.xml по всей системе и сравнить их. Сравнение можно сделать средствами git. Да и непонятно, зачем постоянно выкладывать на сайте описание структуры - в файлах install.xml всегда актуальная версия