Перед тем как переходить на 7-ую версию друпала, ответьте на вопросы (самому себе):
Зачем вам это нужно? (если всё хорошо работает)
Настолько важен вам переход или стоит подождать? (к чему спешка..)
Возможно лучше пока остаться на 6-ой версии друпала? (Меньше проблем, всё более стабильно работает)
Обычно большинство разработчиков переходят на следующую версию через 6-12 месяцев (статистика приблизительная, по моим личным наблюдениям..). Например с 4-ой на 5-ую версию, составило примерно, от трёх до девяти месяцев, хотя кто-то, только через пару лет обновился
На данный момент, для 7-ой версии друпала имеется чуть более 1000 модулей. С одной стороны это много, с другой, ещё огромное количество модулей не адаптировано под 7-ую версию, а некоторые и не будут переделаны... (по разным причинам).
Перед тем как переходить на 7-ую версию, проверьте, чтобы были все нужные вам модули сделаны для 7-ой версии.
Скачайте все нужные вам модули и установите их локально вместе с 7-ой версией друпала! Проверьте на чистой установке, нормально они работают вместе или есть проблемы. Если есть возможность, сделайте чистую установку на своём хостинге (например, на поддомене), чтобы быть уверенным, что 7-ая версия друпала работает нормально на вашем хостинге и корректно работают модули.
Если есть проблемы, ищите решение (возможно надо поставить патч, для какого-нибудь модуля) или подождите с переходом.
Возможно это займёт час-два времени, но вы будете точно знать, что эти модули вместе работают на семёрке.
Список модулей перенесённых в ядро друпал 7.x - http://drupal.org/node/895314
Кстати, можно отследить по функциональности модулей, что нового в 7-ой версии...
Если вы используте свои модули, то здесь - http://drupal.org/update/modules (eng) можете прочитать как их обновить.
Так же можете прочитать, как обновить свой дизайн сайта - http://drupal.org/update/theme (eng)
Перед переходом на 7.x версию друпала, обновите до последней версии Друпала 6.x ваш сайт. Если вы используете версию 5.x, то обновите её сначала до 6-ой версии!
Обновление.
1) Создайте резервную копию базы данных и всех папок и файлов. Сохраните в таком месте, чтобы не удалить случайно Резервную копию базы данных делайте сторонней программой, а не модулем работающим в друпале! Используйте, например - http://sypex.net/ru/
2) Войдите на сайт под пользователем ID 1 (это первый пользователь который был создан, при создании сайта).
3) Перейдите в раздел - admin/settings/site-maintenance и переведите сайт в режим технического обслуживания.
4) Перейдите в раздел - admin/build/themes и включите по умолчанию дизайн сайта - Garland.
5) Перейдите в раздел - admin/build/modules и отключите все модули которые не входят в ядро друпала (обязательные и дополнительные).
Если есть модули, которые вы не будете использовать в 7-ой версии друпала, то можете их удалить на странице - admin/build/modules/uninstall (тем самым очистив базу данных от лишних таблиц). Чем больше удалите, тем лучше
6) Удалите все файлы и папки, за исключением папки 'sites' и входящих в неё файлов и папок. Другие файлы, которые вы создали в других местах, тоже сохраните на месте.
Если вы делали изменения в файлах .htaccess или robots.txt, то вам придётся повтороно внести изменения уже в новых файлах.
7) Если вы удалили какие-либо модули из базы данных на странице - admin/build/modules/uninstall то можете удалить файлы этих модулей из папки - sites/all/modules или в зависимости от того, где они у вас находятся...
Остальные модули оставьте на месте, даже если они несовместимы с Drupal 7.x.
Загрузите текущую версию друпал 7.x на ваш сервер.
9) Сделайте если нужно изменения в файлах .htaccess и robots.txt
10) Удалите файл - default.settings.php он находится в папке - sites/default/default.settings.php
11) Сделайте файл settings.php доступным для записи, чтобы в процессе обновления можно было внести изменения, под версию 7.x
Если для режима технического обслуживания вы прописывали строку - $conf['maintenance_theme'] = 'ваш_дизайн'; - то удалите строку.
12) Запустите update.php он находится по адресу http://вашсайт.ru/update.php
Если вы не можете получить доступ к update.php, то выполните следующие действия:
- Откройте в текстовом редакторе файл settings.php
- Найдите строку - $update_free_access = FALSE;
- Замените её на - $update_free_access = TRUE;
- После того как обновление будет сделано, замените обратно TRUE на FALSE
13) Сделайте резервную копию вашей базы данных, после окончания процесса обновления.
14) Замените и обновите модули, которые не входят в ядро друпала (с запуском update.php до включения модулей и после включения).
15) Убедитесь, что в строке $update_free_access файла settings.php прописано FALSE. Можете прописать строку - $conf['maintenance_theme'] = 'ваш_дизайн'; с вашим дизайном, для режима технического обслуживания.
16) Зайдите на страницу - admin/reports/status и убедитесь, что нет ошибок.
17) Включите по умолчанию свой дизайн сайта. (конвертированный под 7.x).
18) Сделайте резервную копию базы данных.
19) Зайдите на страницу - admin/config/development/maintenance и включите сайт в рабочий режим.
20) Проверьте настройки, правильный вывод блоков и тому подобное...
Если вы столкнулись с ошибками или проблемами во время обновления, то:
- Обратите внимание на любые сообщения об ошибках.
- Восстановите сайт в предыдущее состояние с помощью резервной копии базы данных, созданной до начала процесса обновления сайта. Не пытайтесь делать дальнейшее обновление сайта, если возникли проблемы при обновлении!
Более подробную информацию по обновлению сайта, можно найти на странице - http://drupal.org/upgrade (eng)
Если в вас живёт дух экспериментатора и новатора, если вы отличный специалист и любите исправлять ошибки, если ваш темперамент и характер не даёт вам спокойно спать или просто "не дала" жена, то можете смело обновляться до 7-ой версии друпала
В остальных случаях, подождите до лета...
P.S. Если будете обновляться, отпишитесь, как получилось..
Комментарии
Если все будут занимать выжидательную политику, да ждать, то кто же будет отлавливать баги в новых версиях и двигать вперёд прогресс человечества?
Не совсем уверен в правильности данного шага
баги — это замечательно! отладчик позволяет увидеть то, о чём раньше и не подозревал) короче всем дебаг пацаны
Плюсую... если мы видим недостатки и их исправляем, то (можно предположить) развиваемся. А если все жили по принципу "стабильности" сейчас бы так до сих пор бы на лошадях езидили бы, да почту голубями отправляли бы....
А для чего по вашему эта публикация?
Грызём документацию и будем уверены
Насколько я понял, связано с тем, что под неё расчёт на обновление...
Да вот дело в том что я не припоминаю в семёрке гарланда.
Значит после апдейта либо не просто так выйдет движок, либо при апдейте тема переключается, например, на бартик
За инструкцию плюс, так как на д.ру 40% не знают английского
Есть Garland в семёрке.. И мне кажется, что его воткнули туда, только для обновления... Хотя может и пользоваться кто будет...
однако
Обля, точно
пригодится
Кстати, очень важный 14-ый шаг!! Подчёркиваю - очень важно запустить update.php до включения модулей, именно до включения!!!!
Много косяков можно избежать..
Спасибо, помогло. Переехал.
Рискну обновиться на следующих выходных..
кто нибудь обновлялся, с имеющимся imagecache
интересует, подхватит ли в 7-ке ядренная функция/модуль, те пресеты, найдет ли картинки, чтобы сделать собственно пресеты ?
сделай дев версию. проверь.
я один сайт с пятёрки год переносил. раз 6 с каждой версией набора модулей. пока не переехал без потери контента.
Update #7005
Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'node-5-5-0-0-und' for key 'PRIMARY': INSERT INTO {field_revision_taxonomy_vocabulary_1} (entity_type, entity_id, revision_id, bundle, language, delta, taxonomy_vocabulary_1_tid) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6); Array ( [:db_insert_placeholder_0] => node [:db_insert_placeholder_1] => 5 [:db_insert_placeholder_2] => 5 [:db_insert_placeholder_3] => blog [:db_insert_placeholder_4] => und [:db_insert_placeholder_5] => 0 [:db_insert_placeholder_6] => 5 ) in taxonomy_update_7005() (line 692 of Z:\home\upgrade\www\modules\taxonomy\taxonomy.install).
—
Забуксовал update.php
3 Раза запускал и все три так буксует.
все метки у нод соответственно пропали =\ хотя в базе они все есть.
я переносился с 5-ки на 6-ку, но без особых сложностей. Точнее сложности были потом. Половина модулей работала через одну dev версию.
Модули все выключили перед обновлением?
да. Также пробовал отключать+удалять ВООБЩЕ все файлы модулей. Ошибка всегда одна.
Включены только модули из раздела "Ядро" по дефолту, все остальное выключено.
Вот из кода мне не ясно, например:
db_insert_placeholder_6
db_ это случайно не префикс? У меня он другой... Хотя если бы был префикс все остальное слетело.
?
upd
Так как тесты проводятся на денвере пришлось пошаманить чтобы ошибка исчерпалась.
Память php стояла 128 мб (??) увеличил до 512.
Время выполнения скриптов вообще до 300с.
Все пункты продела сначала, ошибки нету, метки как надо прилипли к своим нодам.
Только теперь у записей в блог содержание пустое ><
Зато пока что все без ошибок. Буду по много раз апгрейдить пока не смогу идеально обновиться. Неплохое занятие чтобы покопаться с движком с другой стороны
upd 2
Пустые ноды решились включением модуля Locale в ядре. Случайно выключил его
Осталось с модулями пошаманить и похоже что перенос прошел с небольшими запинками.
Не забудьте потом отписаться и может другим что посоветовать.. Думаю, тема будет актуальна ещё долго )))
Столько граблей, что ужас нагоняет.
Сейчас у меня с меню проблемы. Юзеру ID1 все отображается, а как заходишь за обычного юзера, то все эти ссылки в меню пропадают. Решилось все перераспределением прав.
В общем, апдейт за собой принес подарки в виде замены индивидуальных настроек на дефолтные.
Решить проблемы очень легко, но они они прям строем идут.
Также, кому интересно.
Views+Calendar+Date - модули которые стояли на 6 версии и организовывали, как не странно, календарь используя указанные даты в определенных нодах.
При апдейте слетел сам календарь.
Views+Calendar+Date
у меня стоит эта связка
Я решил раздел ивенты оставить на 6-ке и перенести на отдельный субдомен
мда, количество проблем чуствую немало
Еще вопрос. может кстати кто подскажет
Ставил денвер, но не смог запустить supex dumper (чтобы дамп импортировать), при попытке залогинтися нет доступа и все тут
У меня supex dumper работает на денвере хорошо.
У меня логин root а пароля нет, подхватил с первого раза.
делал по инструкции
залил 7-ку
Запустил update.php, меня перекинуло на инсталл пхп
ругнулось что нет дефаулт сеттингс
далее, при выборе базы, сообщило что надо был апдейтить
кликаю и все, зависает и отрубается по таймауту
На денвере делаете? Увеличьте время... у него по умолчанию 30 секунд вроде стоит, поставьте несколько минут..
Нее, делаю на хостинге, время 10 минут
Смотрел в логах - ошибок нет
Может рискнуть и сделать прямо на боевом... (там производительность в разы выше)
На боевом та же фигня
504 ошибка
я правильно понимаю, что при запуске обновления файл update.php будет от 7-ки уже (как и другие файлы от 7-ки заливаемые? в корень)
И еще вопрос, дефаулт сеттингс мы удаляем.
А когда заливаем 7-ку, ее дефаулт сеттинг заливается ?
+1
Запусти как корень
в общем, почитал, сделал немного по другому
уже прогресс, теперь выдается ошибка
DatabaseSchemaObjectExistsException: Table role_permission already exists. in DatabaseSchema->createTable() (line 630 of путь/www.hr-portal.ru/includes/database/schema.inc).
А ниже
Uncaught exception thrown in session handler.
PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ssid' in 'where clause': SELECT 1 AS expression FROM {sessions} sessions WHERE ( (sid = :db_condition_placeholder_0) AND (ssid = :db_condition_placeholder_1) ) FOR UPDATE; Array ( [:db_condition_placeholder_0] => b8afe4876a53ca5bca38a2be2f21a05e [:db_condition_placeholder_1] => ) in _drupal_session_write() (line 204 of /путь/www.hr-portal.ru/includes/session.inc).
что в моем переводе означает, что апдейт пытается создать таблицу, которая уже есть. Что ж, всякое бывает
Осталось понять что с этим делать
Хм, ну предыдущую таблицу я допустим удалил
а с этой что делать?
DatabaseSchemaObjectExistsException: Cannot add index system_list to table system: index already exists. in DatabaseSchema_mysql->addIndex() (line 433 of /includes/database/mysql/schema.inc).
Доброго времени суток.
Всё сделал по мануалу как описано в шапке.
Ошибка 500.
У хостера по умолчанию устанавливается версия 6.19
№1 Установил 6.19
№2 Выполнил всё как указано выше для 7ки
№3 500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Весь минимум хостер поддерживает ,даже более.
Ночь просидел, и через FTP пробывал и тупо залевал в корень и там распаковывал... Таже фигня...
Что делаю не так???
P/S Очень прошу помочь
С Уважением.
Вы идёте не проторенной тропой коммунизма, а еле вытоптанной тропой демократии. Читайте логи и будет счастье
Логи пусты ((( нет ошибок..
Обнова идёт с нулёвой (пустой) 6 версии...
У меня задача
Есть два разных хостинга (сайты будут блезницы но с разными задачами)
На первом хостинге по умолчанию устанавливается 7ка
На втором 6ка ...
Из этого выбрал обновить до 7ки и грызть дальше сию CMS так как вижу за ней огромный потенциал.(С друпалом до этого не сталкивался но для своих задач тех модулей что есть мне в полне хватает + в плане безопасности пока не нашёл системы лучше!!! Вот и упёрся рогом и вгрызаюсь в неё более месяца. За это время накидал на 6 версии что мне нужно и понял что мне достаточно ,для задуманного. С хостинга где по умолчанию устанавливается 7ка уйти не могу в силу того что домен привязан. Вот и придётся плясать от 7ки) Не знаю толково ли объяснил но как на духу выложил..
Такого не бывает, а если и бывает то только в случае кривой настройки сервера или если ошибки задушены специально
Другими словами мне нуно тормошить хостера??? => http://www.instanthost.biz/
ну да, Без логов тут мало чего можно сказать
у меня, к примеру, мультивьюс не работало. Закомментил
Спасибо за надежду.
еще модуль есть , может оказаться полезным
upgrade assist
После обновления исчезли все поля созданные в cck.
-------
RxB большое спасибо, все поля появились.
Ставим CCK 3, и там включаем content_migrate
Ещё на drupal 6 ставить до обновления или уже после на drupal 7?
Разобрался. Ставить нужно уже после апгрейда.
Огромное спасибо уважаемому автору, обновился, работает.
Только сам сайт на я пока не трогал, жалко, хоть он и убогонький. А знания у меня начальные.
Я полностью скопировал сайт на халявный домен, предоставленный It-Patrol, и решил обновить и далее настроить сайт уже на этом домене.
Действовал строго по инструкции, всё получилось с первого раза.
Только непонятно, почему модуль Views криво работает пр включённом модуле Page title. Меню есть,в самом интерфейсе представленя есть превью, но по клику по ссылкам меню открывается белая страница. Если отключить модуль Page title, то Views начинает худо-бедно работать.
Что интересно, эта фигня у меня была и на чистом Друпал 7.
Судя по описанию, памяти не хватает на все модули. Сколько на этом хостинге оперативки?
Скажите, почему во время обновления системных таблиц может вываливаться такая ошибка:
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: .../update.php?id=296&op=do StatusText: OK ResponseText: Fatal error: Maximum execution time of 0 seconds exceeded in .../includes/file.inc on line 1975
Решение оказалось более прозаичным: после каждой такой ошибки жмешь на клавишу Ф5 и так, поступательно, обновляется вся база... И все же для меня осталось загадкой: почему при отключенном временном лимите скрипт прекращает свою работу?
А обращения к БД не ограничены по количеству в единицу времени?
Я тоже об этом подумал, но полазив по гуглу, понял, что у MySql вообще такого ограничения нет в принципе
У вас другой гугл, у мускуля такое ограничение есть и некоторые хостеры им пользуются, что не афишируют
На бесплатных хостингах как раз это ограничение и было основной проблемой. Движки типа друпала делают очень много обращений к БД и по этому работать невозможно.
Что у Вас за хостинг?
Напишу и про свои "грабли", на которые наткнулся при 6.22 -> 7.9.
Функция get_t работала некорректно и постоянный свал с кучей ошибок первую попытку свел на нет.
Честно говоря не стал разбираться просто предварительно переключился на язык по defaulty eng и проблема была решена.
при обновлении по приведенной выше инструкции у меня был белый лист.
вот как я сам сделал в итоге
самый лучший и простой способ сделать обновление:
1. в папку заливаем drupal7
2. копируем файл settings.php
3. запускаем update.php
и вуаля - все готово!
p.s. модули потом можно добавить, да и фотки копирнуть
самый глупый способ сделать обновление
Самый глупый способ возражения... если знаете лучший, рассказали бы...
Reaktiv уже всё рассказал, или ты ниасилил столько текста?
сделал все как написано, но застряг на 12 пункте, при запуске update.php просто белая страница, переменную $update_free_access поставил на TRUE подскажите что делать?
обновляю с 6й до 7.14
Смотрите лог ошибок.
Перед этим закомментируйте ini_set() в update.php, там глушится вывод ошибок
спасибо, по логам увидел что неотключил модуль link
О, гемор-то какой! Не знал, не знал...
Сразу что-то захотелось вернуться на платные CMS.
Не понимаю к чему этот некропостинг, уже пора думать об апгрейде с 7 на 8. Ну раз уж пошла канитель...
Во-первых. Если бы вы знали что Drupal 7, если мне не изменяет память, был переписан с нуля, было вообще все переделано и перестроено, то факт существования таких гайдов уже делает друпла на фоне этих ваших платных систем охеренным. Ибо они бы просто сказали что не совместимы и делайте что хотите.
Во-вторых. Это не тащит за собой тучу кода для обратной совместимости, что облегчает систему и увеличивает производительность. А большинство платных тащут, и превращаются в помойку типа Битрикса.
В-третьих. Это должен делать программист\разработчик, а не администратор сайта.
В-четвертых. Не обновляйтесь, если вы так боитесь или вам не нравится это.
И закрываем список советом перейти на платные CMS, ведь они ни капли не геморройные. Рекомендую Битрикс, там вообще все просто и понятно, просто сказка и мечта.
спасибо
Возьмите статистику по интернету, сколько сайтов на Drupal v.6х?
Я про тех кто сайты заказывал не год и не два назад, у кого старые, да хозяева не программеры, а коммерсы, за обновлением не следили, да и не надо было им.
А теперь они спохватились, пограмотнели так сказать, узнали про безопасность после кучи взломов. И начали обращаться к программистам за помощью.
90, если не 100% из них уже никогда не проапгрейдятся.
Большинство, хотя бы потому, что владельцы сайтов будут не готовы за это заплатить. Я говорю о тех, где есть модули, которые так и не получили версию под 7, и придется оооооочень подрудится прогерам, и сумма может стать больше чем когда они покупали целый сайт.
Нужно ли модули 6-й версии предварительно обновлять до последней версии?
Да
Хотелось бы уточнить. Сторонние модули нужно обновлять или только встроенные в дистрибутив Друпал?
Я не знаю что такое сторонние и что такое встроенные и чем они отличаются от модулей ядра, которые всё равно обновляются до последних версий.
Но обновлять нужно все модули
Тут был уже неактуальный вопрос
«5) Перейдите в раздел - admin/build/modules и отключите все модули которые не входят в ядро друпала (обязательные и дополнительные).»
То есть отключить, все что отключается, так? Оставить только обязательные?
Отключить модули которых нет в стандартной поставке
Здравствуйте, люди. Нужна помощь.
Пытаюсь перейти на 7-ку. При выполнении пункта "12) Запустите update.php он находится по адресу http://вашсайт.ru/update.php " выдается сообщение "DatabaseSchemaObjectExistsException: Cannot add index system_list to table system: index already exists. in DatabaseSchema_mysql->addIndex() (line 437 of /home/x/xurzarinru/public_html/includes/database/mysql/schema.inc)."
Что с этим делать? Можете помочь?
Мне почему-то кажется, что Вы не отключили ВСЕ модули и темы на пунктах 4 и 5.
Вот тут описала кучу всяких прелестей, с которым столкнулась при апгрейде довольного большого сайта с 6ки до 7ки.
Привет. Я отключил ВСЕ-ВСЕ модели по максимальному максимуму. Удалил ВСЕ-ВСЕ необязательные...
И темы, только дефолтные остались (гарланд, блумарин, минелли и пашбаттон) включен только гарланд (
Читал Ваше описание, и ссылки, конечно, тоже. Все по пунктам делал...
Я, конечно, попробую еще раз!..
Есть еще один фокус. Очень странный.
Тут на Друпал.ру кто-то тоже долго бился.
Не на все минорные версии 7ки переносится одинаково.
Попробуйте сначала обновить на какую-нибудь относительно "старенькую" версию 7-го Друпала.
Вот, кстати, нашла эту ветку.
Может, картинка прояснит ситуацию? Помогите
Извини если мимо, такое впечатление что база не туда залита.
Но на 6-ке прекрасно работает. Но как только запускаю апдейт, выскакивает такое вот безобразие
начит мимо (
а как исправить?
Он говорит, что таблица "разрешения ролям" уже создана.
Где-то ошибка с порядком выполнения пунктов инструкции.
(((( Та же самая фигня с 7.22 ( Видимо дело не в версии 7-ки. Не знаю, что делать. Все равно Вам спасибо )