Перенести работы пользователей

Перенести работы пользователей

от Владимир Харитонов -
Количество ответов: 1

Добрый день, появилась необходимость в копировании курса. Хотелось бы узанть как сделать перенос оценок или хотябы работ без использовании импорта/экспорта или резервного копирования курса. тоесть создать новый курс - в moodledata скопировать работы пользователей - как подключить эти работы обратно пользователям? при условии что практички есть.

  заранее спасибо

В ответ на Владимир Харитонов

Re: Перенести работы пользователей

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle

Большая часть информации в Moodle хранится не в moodledata, а в базе данных. В тех же заданиях в moodledata хранятся только сами файлы, они бесполезны без записи в базе данных о том, что ученик сдал эту работу.

Скопировать данные из СУБД практически невозможно: представьте себе огромные таблицы в эксель, где данные по каждой подписке пользователя на курс - это одна строка, содержащая как id пользователя, так и id курса. Причем, информация, указывающая системе о том, что пользователь записан на курсе и сдал задание хранится в десятках таких таблиц. Простое копирование строк приведёт только к сбою в работе базы данных, надо заменять и пересчитывать идентификаторы строк. Это довольно трудоемко, требует большой внимательности, так как любая ошибка может сделать вашу базу данных неработоспособной. Руками бы я ни за что не взялся это править, а написание программы потребовало бы длительноё её отладки, прежде чем я бы рискнул запустить её на реальной базе данных.

Именно поэтому копирование данных рекомендуется выполнять через резервное копирование - там все эти проблемы решены, причем решены самими разработчиками и многократно отлаженны.