Сложный апгрейд

Главные вкладки

Аватар пользователя funsochi funsochi 19 апреля 2010 в 23:27

Обновляю сайт с D5 на D6. Заодно решил добавить несколько новых модулей, а также обновить PHPBB и COPPERMINE gallery, которые работают в связке.

Я сделал копию сайта на временном домене, там всё отлаживаю, работы ещё на несколько дней (модулей было установлено около сотни). Проблема в том, что пока я настраиваю, на старом сайте, который в это время работает, появляются новые ноды, комментарии. Как потом их можно перетащить на обновленный сайт?

Комментарии

Аватар пользователя wolfXXXL wolfXXXL 20 апреля 2010 в 10:32

Посмотрите этот топик http://www.drupal.ru/node/31896 правда когда я переносил пришлось скрипт править под себя и подключать туда Пакетные операции.
За основу брал update.php и скрипт приведенный в выше указанном топике от admin

Аватар пользователя FORTIS FORTIS 20 апреля 2010 в 10:40

ноды, комментарии и пользователи это же встроенные модули друпала, их обновить не сложно.
в конце работы просто обновите еще раз, но только двиг и перенесете новые таблицы.

Аватар пользователя Crea Crea 20 апреля 2010 в 12:53

Код обновляется мгновенно поэтому с ним проблем не будет. Манипуляции с базой собираете в hook_update_N() своего модуля, обкатываете на своем компе. Как только у вас обновления проходят без ошибок, выкатываете на production.

Аватар пользователя funsochi funsochi 20 апреля 2010 в 13:36

"Stan.Ezersky" wrote:
Советую закрыть сайт и делать спокойно

Это нереально.

"wolfXXXL" wrote:
Посмотрите этот топик http://www.drupal.ru/node/31896[/quote]
Спасибо, попробую.

"FORTIS" wrote:
ноды, комментарии и пользователи это же встроенные модули друпала, их обновить не сложно.
в конце работы просто обновите еще раз, но только двиг и перенесете новые таблицы.

Можно чуть подробнее?
Вот есть старый сайт на D5 (1) с новыми нодами, юзерами и комментами, и есть новый сайт на D6 (2) с кучей новых таблиц. Я беру, обновляю опять D5 на D6, и копирую недостающие таблицы из (2)???

"Crea" wrote:
Манипуляции с базой собираете в hook_update_N() своего модуля, обкатываете на своем компе.

Можно поподробнее? Что именно надо собрать? Из кода каждого из ста модулей руками вытащить их манипуляции с базой или что?

Аватар пользователя FORTIS FORTIS 20 апреля 2010 в 15:05

Quote:
Я беру, обновляю опять D5 на D6, и копирую недостающие таблицы из (2)???

да, заменяте свежими. по сайту поищите какие таблицы для чего.

Аватар пользователя Crea Crea 20 апреля 2010 в 14:21

Quote:
Можно поподробнее? Что именно надо собрать? Из кода каждого из ста модулей руками вытащить их манипуляции с базой или что?

Нормальные модули и так обновятся, т.к. имеют собственные реализации данного хука. А вот все, что кроме них - т.е. обновление своего кода, исправление ошибок в БД и приведение конфигурации в соответствие - нужно реализовать самостоятельно в этом хуке. Batch API добавить по вкусу Smile