Вот и вышло очередное обновление для moodle 2.5
Если обновится стандартным способом с версии 2.4 - проблем не ожидается ?
Нет, не ожидается )))
Но от создания полной резервной копии системы до перед обновлением это утверждение не освобождает
Здравствуйте
Чтоб не плодить темы спрошу здесь.
У нас moodle 2.1. Планируем обновить до 2.5.
В самом начале у нас оказывается был 1.9.
До 2.5 сначало нужно обновиться до 2.2
Поставил 2.2 отдельно и сравнил схемы баз данных 2.1 и 2.2 как сказано в инструкции. База на MySQL.
Файл разницы вышло на 4,5 тыс строк.Не не понял одно. Эту разницу нужно исправить до обновления или во время?
Как обновляли от 1,9 -> 2.2, и от 2.2 -> 2.5?
У нас moodle 2.1. Планируем обновить до 2.5.
2 дня как обновил 1.9.19 до 2.5.1+
Файл разницы вышло на 4,5 тыс строк.
Вы случайно не вместе с данными сравнивали? Потому как только по структуре БД столько различий быть не может.
Эту разницу нужно исправить до обновления или во время?
Ни "до", ни "во время", а ПОСЛЕ обновления. Берёте Navicat, указываете базу-источник от "Поставил 2.2 отдельно", базу-цель - обновляемый сайт и сравниваете структуру, БЕЗ данных. Navicat сам сформирует запросы, кот. нужно будет потом выполнить. Различия будут небольшие, в основном в названиях ключей, как тут описано: http://docs.moodle.org/22/en/Verify_Database_Schema
Старый: UNIQUE KEY `name` (`name`)
Новый: UNIQUE KEY `mdl_backconf_nam_uix` (`name`)
И Verify Database Schema я делал уже после обновления до 2.5. После этого ещё и во встроенном в Moodle XMLDB editor’е проверку запускал.
Как обновляли от 1,9 -> 2.2, и от 2.2 -> 2.5?
С 1.9 до каждой следующей версии, т. е., сначала до последней 2.0, потом до 2.1, потом до 2.2. потому как тут основные изменения в структуре БД. И обязательно делать дампы БД, сайта и данных после каждого повышения версии. Чтобы в случае чего окатываться не в самое начало, а на один из промежуточных этапов.
С 2.2 всё проще, можно перескочить сразу на 2.5.
так и сравнивал как указано здесь
http://docs.moodle.org/22/en/Verify_Database_Schema
вот эти команды и использовал
mysqldump -d -u root -p myproductiondb >production.schema
mysqldump -d -u root -p mycleandb >clean.schema
diff -u production.schema clean.schema >db.diff
у меня вот db.diff получился на 4,5 строк.
Попробую Navicat, может меньше будет
db.diff получился на 4,5 строк
Так в нем 75% - мусор. Смотрите только на строки с - и +, вот пример:
- KEY `mdl_assigrad_mai_ix` (`mailed`),
+ KEY `mdl_assigrad_att_ix` (`attemptnumber`),
Один ключ удалить, другой - добавить.
Я вот сейчас сравнил БД 2.4 и 2.5 (под рукой были), diff получился на 1191 строку, а в Навикете - всего 51 SQL-запрос
Навикат вычислил 911 строк. Прикрепил на всякий случай его.
После обновления может меньше будет, посмотрим.
Не 911, а 418, считайте по точке с запятой - это конец запроса.
И, естественно, нужно сначала обновиться, а потом сравнивать стуктуры БД. Сейчас же вы разные версии сравниваете.
Добрый день
Обновил до 2.5 , после синхронизировал структуру с помощью навиката.Потом проверил на XMLDB editore.
Все проверки выходить с нулевым результатом кроме проверки внешних ключей.
Там мне показывает 23 проблемных мест, они ниже добавил только начало чтоб сообщение не получилось большим. Чем это грозит? Указанные запросы выполняется нормально если вместо {???} написать правильное имя таблицы. Но это ведь не исправляет проблемы.
Look for foreign key violations
Search resultsViolated foreign keys: 23 |
Violated foreign keys found
|
Чем это грозит?
Ничем, абсолютно
Это просто показывает "мусор", накопившийся в БД.
Например: в таблице {block_quickmail_log} есть записи с courseid, которого нет в таблице {course}, может, курс удалили раньше. А ссылка на внешний ключ осталась - вот и "Violated foreign keys".
Если есть время и желание, то можно выполнить запрос
SELECT t1.id FROM mdl_block_quickmail_log t1 LEFT JOIN mdl_course t2 ON t1.courseid = t2.id WHERE t1.courseid <> '?' AND t2.id IS NULL; и удалить эти записи.
И остальные почистить таким же макаром.
Спасибо,
успокоили ;)
А можно пошагово, как обновиться с 2.4.3+ до 2.5.1+ А то за лето малость все подзабыл, придется все восстанавливать в памяти...
Доброго времени, возникла необходимость обновится до 2,5,1+ сейчас стоит 2,3,1+
вроде все делаю по инструкции, сделал бэкап всего, перевел moodle в режим тех обслуживания, переименовал папку moodle и закинул новую с файлами от 2,5,1+ зашел в moodle ничего не поменялось так же пишет, что модуль не нуждается в обновлении. помогите пожалуйста
Если всё сделано правильно, то сразу после входа на сайт админу показывается такая инфа:
зашел в moodle ничего не поменялось так же пишет, что модуль не нуждается в обновлении.
Какой модуль? Если страница как на скрине выше не появляется, сами зайдите в Админку-Уведомления.
Такая страница не появляется, в уведомления он заходит и предлагаеет обновить модуль hotpot в данном случае не очень нужный. я просто никак не пойму что делаю не так, я попробовал вообще убрать папку moodleб но ничего не произошло сайт продолжил работать, разве так должно быть?
я попробовал вообще убрать папку moodleб но ничего не произошло сайт продолжил работать
Сравните путь, указанный к Moodle в config.php (параметр $CFG->dirroot), с реальным. Может вы не с тем каталогом работаете
да вот у меня тоже такие подозрения, что не тот каталог мучаю...
вот нашел конфиг, но нету там той строки
<?php // Moodle configuration file
unset($CFG);
global $CFG;
$CFG = new stdClass();
$CFG->dbtype = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost = '';
$CFG->dbname = 'vspc_moodle';
$CFG->dbuser = '';
$CFG->dbpass = '';
$CFG->prefix = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbsocket' => 0,
);
$CFG->wwwroot = 'http://vspc.org.ru';
$CFG->dataroot = '/home/vspc/moodledata';
$CFG->admin = 'admin';
$CFG->directorypermissions = 0777;
$CFG->passwordsaltmain = '';
require_once(dirname(__FILE__) . '/lib/setup.php');
// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!
Спасибо огромное, почему-то надо было заменять папку docs
Каталог тот всё-таки
Я зашел на http://vspc.org.ru/admin/index.php
у меня такое сообщение:
Файлы Moodle изменены, можно приступить к автоматическому обновлению сервера до следующей версии:
2.5.1+ (Build: 20130802) (2013051401.07)
Как только Вы сделаете это, Вы не сможете вернуться назад.
Обратите внимание, что этот процесс может занять много времени.
Вы уверены, что хотите обновить сервер до этой версии?
в настойках апач DocumentRoot посмотрите
Да, спасибо, я нашел что менять, заменил и обновился, все вроде работает...