Перевод Сайта На Новую Версию Вручную. Посоветуйте Алгоритм

Может уже где-то был освещен алгоритм перехода на новую версию в плане переноса контента сайта (товары, категории, статьи, отзывы и пр.)?



Сейчас перевожу магазин с 4.2.3 на 4.3.3

4.3.3 поставил на локалку.



Думаю, как воссоздать контент. По сути клон старого сайта на новой версии движка.



Ну товары, допустим, - экспорт/импорт. Характеристики - тоже.

А вот картинки - их тоже надо экспорт/импорт или достаточно скопировать папку корень/images ?



А как быть с категориями - их около 50, у каждой свое описание. картинка, сео… экспорта/импорта нет



А как быть со статьями, есть два десятка. И отзывы там есть. Как их перенести?



Наверное нельзя просто сделать дамп всей старой базы и развернуть на новой версии?



Расскажите, кто как действовал?

Пока напишу, что удалось сделать мне. Может пригодится тем, кто пошел путем установки чистого движка и заливки туда данных со старого сайта. Жаль, что разработчики не реализовали перенос ВСЕГО контента, ну да ладно.



Итак, имеем работающий магазин в инете с допилами, перепилами, правкой дизайна, своей темой и прочее.

[color=#ff0000]Также имеем бэкап корня хостинга, полный дамп БД и любые другие бэкапы, которые позволят вам все вернуть назад.[/color]

И имеем девственно чистый сайт, установленный локально.

ВАЖНО. На локальном сайте должны быть установлены подключены и настроены все те же модули, которые есть на основном сайте!



Мне нужно.

  1. Перенести записи в базе данных
  2. Перенести файлы
  3. Перенести дизайн


  4. Если мы перенсем наши записи в локальную БД, то сайт не запустится, т.к. У чистого сайта не тот storefront и у чистого сайта нет вашей самопильной названной темой, с самодельным стилем и пр. Поэтому, перед переносом БД на основном сайте установите текущей дефолтную тему и дефолтный стиль, например Responsive потом вернете назад, дизайн весь полезет конечно, но он нам сейчас не нужен.



    Идем сюда качаем и устанавливаем бесплатную прогу dbForge Studio for MySQL. Она нужна для синхронизации БД. Мы ее поставим, запустим, подключем к ней БД источник на хостинге и БД приемник - локальную. После чего прога сравнит структуру таблиц и мы ручками поправим различия. Потом запустим синхронизацию и данные с сервака разместятся в новой и чистой БД на своих родных местах. Нам останется вручную поправить storefront. Вуаля!


  5. Копируем папку images на ее место и папку var/files/1/exim с рабочего сайта. Если у вас есть еще какие-нибудь файлы контента - их тоже. Удаляем все, что в папке кэш.


  6. Запускаем новый сайт, видим, что весь контент в наличии (товары, категории, иконки, картинки, статьи, отзывы), приступаем к дизайну. Смотрим видео, модифицируем модулем, делаем все чистенько, а не прямо в коде и css, как это было при пилении первого сайта.



    И ЕЩЕ. При синхронизации БД перенесутся данные лицензирования и пароли администратора. Поскольку они хранятся захешированными, В админке полезут ошибки, нужно зайти в лицензирование и выбрать лицензию и поменять пароль администратора.



    Еще не смотрел, что с юзерскими паролями. Но в случае чего импорт экспорт/импорт пользователей работает отлично.



    Как перенести локальный сайт в инет, думаю, вы знаете.







    Удачи всем!

[quote]Жаль, что разработчики не реализовали перенос ВСЕГО контента, ну да ладно.[/quote]



Зачем? Есть апгрейд, который прекрасно делает это.



Если хочется по особому, то:

  1. Делаем копию.
  2. Делаем апгрейд копии до новой версии.
  3. Делаем чистую инсталляцию и подключаем к ней апгрейженую базу.
  4. Переносим контентные файлы на новую инсталляцию.



    То что сделали Вы не совсем правильно и не нужно это советовать людям, так как как Вы только подогнали структуру базы данных (колонки их названия) к новой версии, а апгрейд делает миграции данных:
  5. Изменяет структуру базы.
  6. Изменяет структуру данных и сами данные (например данные о заказе хранятся в сериализованном массиве, во время апгрейда эти данные могут изменится, апгрейд раскроет массив, преобразует данные и сохранит назад)
  7. Добавляет новые настройки и настройки модулей (они у вас не появятся из неоткуда)



    Для всего этого пишутся миграции, которые запускаются при апгрейде, поэтому просто подогнать названия и количество колонок недостаточно для переноса.



    Поэтому правильно именно обновлять и если хочется чистоты то переносить базу на чистую инсталяцию, можно например только товары, покупателей и заказы перенести, без блоков и дизайна.

[quote name='dbazhenov' timestamp='1438790598' post='225769']

Зачем? Есть апгрейд, который прекрасно делает это.

[/quote]



Ну конечно, Даниил, сам себя не похвалишь… Так уж и прекрасно…

Ну например. У меня версия 4.2.3 Прекрасный апгрейд предлагаем мне обновиться до глючной 4.2.4. Не знаю, как там дальше, но как-то не хочется собирать все глюки по очереди.

Второй пример. Как только вышла 4.3 - сколько копий было сломано, пока дошли до 4.3.3 Я внимательно читал форум, как люди мучились. Движок развивается, но не идеален и далеко не прекрасен в смысле апгрейда.


[quote name='dbazhenov' timestamp='1438790598' post='225769']

То что сделали Вы не совсем правильно и не нужно это советовать людям, так как как Вы только подогнали структуру базы данных (колонки их названия) к новой версии, а апгрейд делает миграции данных:…[/quote]



Я бы сказал - совсем не правильно. dbForge довольно хорошо показывает различия и в структуре и в типе данных, в общем для конкретного примера вполне сгодится. Что поделать если разработчик


[quote]Для всего этого пишутся миграции, которые запускаются при апгрейде, поэтому просто подогнать названия и количество колонок недостаточно для переноса.[/quote]



Миграции хороши при последовательном переходе от версии к версии. А как человеку обновиться, скажем со второй версии?

Конечно делать экспорт, например, пользователей важно и нужно, а категорий? Раз уже есть экспорт, то почему не довести до логической полноты?


[quote]и если хочется чистоты то переносить базу на чистую инсталяцию, можно например только товары, покупателей и заказы перенести, без блоков и дизайна.[/quote]



И похоронить категории, статьи, отзывы? Или переносить вручную? Экспорта-то нет.

А блоки и дизайн я как раз не переносил!



В общем, народ, я не призываю ник чему, я просто показал свое неполное решение, неполного экспорта/импорта контента, не имея, по сути альтернативы. Применять или нет - решать вам.



(я уже не говорю о времени. За полчаса я практически решил перенос ВСЕГО контента! Угадайте, сколько времени надо, чтобы экспортировать/импортировать 30 000 товаров, 90 000 оптовых цен, а также характеристик, пользователей и пр., а когда полезут таймауты на Денвере, будет вообще весело)

1 лайк

В целом обновление движка, которое не оставляет хвосты, это хорошо. А если оставляет? Но ведь часто и юзеры таких хвостов навертят, что хоть убей надо начисто все ставить.



И вот тогда поднимается вопрос переноса чисто контента. Кстати, разработчики ползут немного в этом направлении, например к бэкапу базы добавили бэкап файлов. Но это все равно куски.



Контент - самое ценное, что есть на сайте, это не только товары, это и СЕО адреса, и мета дескрипшены, и альты к картинкам, - все, над чем трудились люди. И это ВСЕ нужно уметь бэкапить и распаковывать на чистую систему.

Все проблемы обновлений высосаны из пальца. Хватит пальцев рук, чтобы пересчитать клиентов с проблемами при обновлении. Большинство проблем связаны с серверами (по таймауту обрывается) или сторонними модулями или верстка чуть чуть слезет. Я не знаю ниодного случая, чтобы проблемы с обновлениями не решались тех. поддержкой или мной лично. Обновления работают прекрасно.



Обновления должны работать последовательно и только так. Никаких косяков там нет, чтобы их собирать.



Для тех кто хочет обновиться с 2.x и 3.x может это сделать с помощью модуля “Импорт магазина”, который высасывает данные в версию 4.3.2

[quote name='dbazhenov' timestamp='1438794215' post='225779']

Обновления работают прекрасно.

[/quote]



…Ок. На этом и порешили.

Надеюсь, что дальше я тоже буду пользоваться стандартным обновлением.


[quote name=‘dbazhenov’ timestamp=‘1438794215’ post=‘225779’]

Для тех кто хочет обновиться с 2.x и 3.x может это сделать с помощью модуля “Импорт магазина”, который высасывает данные в версию 4.3.2

[/quote]



Вот правильная идея… Надеюсь, он высасывает все данные.

[quote name='daer' timestamp='1438794833' post='225781']

Вот правильная идея… Надеюсь, он высасывает все данные.

[/quote]



Да, только нужно поставить именно 4.3.2 и дальше обновляться через центр обновлений. 4.3.2 доступна в HelpDesk.

не нашел в HelpDesk 4.3.2 вижу тоолько 4.3.3.



Даниил, тему лучше удалить, лезут таки ошибки.



Буду пробовать стандартный метод, Сделаю клон на локалке и буду обновлять на локалке. При этом идет обновление 4.2.3 - 4.2.4 - 4.3.1 при этом в подсказках совет настоятельно подождать 4.3.2 по техническим причинам. А чего ждать… как ждать… непонятно 4.3.2 в центра обновлений появится наверное уже после обновления на 4.3.1

[quote name='daer' timestamp='1438854253' post='225874']

не нашел в HelpDesk 4.3.2 вижу тоолько 4.3.3.



Даниил, тему лучше удалить, лезут таки ошибки.



Буду пробовать стандартный метод, Сделаю клон на локалке и буду обновлять на локалке. При этом идет обновление 4.2.3 - 4.2.4 - 4.3.1 при этом в подсказках совет настоятельно подождать 4.3.2 по техническим причинам. А чего ждать… как ждать… непонятно 4.3.2 в центра обновлений появится наверное уже после обновления на 4.3.1

[/quote]



Да Это я попросил написать Она уже есть обновляйтесь.



4.3.2 можно попросить в HelpDesk, не успели выложить отдельно.

Кстати, после обновления, если все прошло успешно, папку \www\var\upgrade можно очистить?



А также папку www\images\detailed можно очистить?

[quote name='daer' timestamp='1439028193' post='226065']

Кстати, после обновления, если все прошло успешно, папку \www\var\upgrade можно очистить?



А также папку www\images\detailed можно очистить?

[/quote]



images/detailed - это все ваши картинки не нужно там чистить ничего



/var/upgrade/ тоже не стоит чистить , можно packages удалить в этой папке, да и то смысла нет.

ну тогда не будем… я думал, что после того, как картинки нарезаны, исходники не нужны (на хостинге). То же самое и с обновлениями.



Ясное дело , что локально все скопировано и заархивировано.

[quote name='daer' timestamp='1439028947' post='226068']

ну тогда не будем… я думал, что после того, как картинки нарезаны, исходники не нужны (на хостинге). То же самое и с обновлениями.



Ясное дело , что локально все скопировано и заархивировано.

[/quote]



Нет, картинки нужны, кэш картинок может очищаться и т.д.