Статьи

Переход к Magento 2: создание плана миграции

Magento 2 был наконец выпущен в ноябре прошлого года, после очень долгого ожидания. Очевидно, ожидание того стоило, потому что новая версия Magento, похоже, построена на совершенно другой архитектуре и намного более оптимизирована, быстра и удобна для пользователя. Если вы планируете построить новый магазин Magento, вам не составит труда использовать Magento 2 для вашего нового проекта Magento.

Однако, если у вас уже есть магазин Magento 1, выпуск Magento 2 поставит вас в затруднительное положение относительно того, следует ли вам придерживаться Magento 1 или переключиться на Magento 2. В этой статье и в следующей статье на ту же тему. Я кратко расскажу о процессе миграции в Magento 2 и обо всех важных аспектах, которые необходимо учитывать для этой миграции.

Первое решение, которое вам нужно сделать здесь: стоит ли вам какое-то время придерживаться Magento 1 или сразу же начать переход на Magento 2? Вот несколько вещей, которые следует учитывать при принятии этого решения:

  • Magento 2 действительно лучше и быстрее, чем Magento 1 — в этом нет никаких сомнений. Итак, если вы только что запустили свой магазин или на этом этапе у вас мало трафика, начните процесс миграции.
  • Если вас устраивает текущая производительность Magento, и с Magento 1 у вас все работает нормально, вам не нужно срочно переходить на Magento 2. То, что Magento 2 запущен, не означает, что Magento 1 уже мертв. Magento объявил, что будет поддерживать Magento 1 еще три года — он просто не выпустит больше версий Magento 1, и вы не увидите много новых тем и расширений Magento 1. Короче говоря, вы можете продолжать использовать Magento 1 в течение года или двух, не чувствуя острой необходимости в обновлении.
  • Воздержитесь от процесса обновления, если у вас сейчас важный сезон для вашего магазина электронной коммерции. В середине популярных сезонов покупок, таких как Черная пятница или новогодние каникулы, начинать изменение конфигурации вашего сайта — это действительно плохая идея, потому что это может привести к техническому обслуживанию и простою, и вы никогда не знаете, когда что-то может пойти не так. Так зачем рисковать?
  • Еще одна важная вещь, которую следует учитывать, — это то, что тема и расширения, которые вы используете для своего магазина Magento, еще доступны для Magento 2. Magento 2 всего несколько месяцев назад, так что, хотя сообщество пытается быстро обновить существующие расширения и темы, не все они совместимы с Magento 2. Итак, если у вас есть важное расширение, которое еще не готово к Magento 2, вам определенно стоит подождать!

Если вы рассмотрели все плюсы и минусы перехода на Magento 2 и приняли решение о переносе, вот краткий обзор шагов, необходимых для переноса вашего сайта в Magento 2.

Как уже говорилось выше, внимательно изучите наличие необходимых расширений и тем — вы должны быть уверены, что они доступны в Magento 2. Кроме того, ищите все ненужные расширения, которые вы можете удалить, а также любые ресурсы базы данных, которые вам нужно перенести. и любые активы, которые вы можете уронить.

Уточните у своей хостинговой компании, имеет ли она все необходимые возможности для размещения Magento 2 без проблем, и может ли она также поддерживать и поддерживать ваш сайт, когда трафик в будущем будет увеличиваться.

Создайте новую установку Magento 2 и после установки создайте резервную копию или выгрузите базу данных Magento 2 как можно скорее.

Затем начните установку необходимых расширений в этом новом магазине Magento 2.

Установите инструмент миграции Magento (шаги приведены ниже) и убедитесь, что у него есть доступ к базам данных Magento 1 и Magento 2, чтобы начать процесс миграции.

Остановите задания Magento 1 cron, а также все действия в панели администрирования Magento 1, кроме необходимых проблем управления заказами, и не возобновляйте действие, пока не завершится процесс миграции и сайт Magento 2 не заработает.

Вручную перенесите все файлы мультимедиа со своего сайта Magento 1 на Magento 2 и используйте инструмент миграции Magento для переноса настроек на сайт Magento 2.

Теперь используйте инструмент миграции, чтобы полностью перенести базу данных Magento 1 в базу данных Magento 2. Обе базы данных имеют разную структуру, но инструмент миграции знает, куда их переносить, так что данные остаются доступными в вашей установке Magento 2. Однако, если вы используете расширение, которое использует свои собственные данные, и когда вы переносите его в Magento 2, оно имеет другую структуру базы данных для Magento 2, используйте файлы сопоставления, которые поставляются с инструментом переноса данных.

После завершения передачи базы данных переиндексируйте свой сайт Magento 2.

И, как всегда, последний шаг — провести тщательное тестирование вашего нового сайта Magento 2.

Несмотря на то, что вы прекратили большинство действий в панели администрирования Magento 1 до начала процесса миграции, возможно, возникли некоторые проблемы с обработкой заказов. Кроме того, возможно, за это время произошли новые отзывы пользователей или изменения в профилях клиентов. Теперь вам нужно перенести эти данные с помощью дополнительных обновлений.

После того, как вы убедились, что полностью перенесли все данные на свой сайт Magento 2, и все работает абсолютно нормально, пора начинать работу. Для этого переведите сайт Magento 1 в режим обслуживания, остановите инструмент миграции, запустите задания cron Magento 2 и настройте балансировщики нагрузки DNS на новое производственное оборудование. И вы сделали!

Эта блок-схема объясняет все шаги для миграции:

Блок-схема миграции

Источник изображения: http://devdocs.magento.com/guides/v2.0/migration/migration-overview-how.html

Обратите внимание, что это просто обзор процесса миграции, чтобы вы могли правильно спланировать его. Более подробное объяснение всех этих шагов будет дано в следующей статье на ту же тему.

Хотя я объясню все детали шага миграции в следующей статье, вот несколько рекомендаций, которые следует иметь в виду:

  • Перед миграцией создайте дубликат базы данных Magento 1 и подключите ваш Magento 2 к этой базе данных дубликатов. Это потому, что если вы случайно подключитесь к действующей базе данных Magento 1, вы в конечном итоге потеряете свою базу данных Magento 1, и зачастую потери базы данных необратимы.
  • После дублирования базы данных Magento 1 сохраните в ней только необходимые данные и удалите из нее все ненужные данные. Например, вы можете удалить недавно просмотренные и сравненные записи о продуктах, некоторые старые рекламные правила, журналы, предложения по заказам и т. Д.
  • Остановите действие (кроме необходимых действий по управлению заказами) в панели администрирования Magento 1 перед началом процесса миграции. Если вы внесете изменения после создания дубликата базы данных, эти изменения не будут перенесены на ваш сайт Magento 2.
  • Избегайте всех видов изменений кода в процессе миграции. Разработчики испытывают соблазн исправлять вещи по мере их появления, но время миграции — не лучшее время для этого. Вы можете сохранить все эти изменения, пока миграция не будет успешно завершена.
  • Чтобы повысить производительность миграции, вы можете установить параметр <direct_document_copy>1</direct_document_copy> в <direct_document_copy>1</direct_document_copy> config.xml. Для этого базы данных Magento 1 и Magento 2 должны быть расположены в одном экземпляре MySQL, и учетная запись базы данных должна иметь доступ к каждой базе данных.

Теперь я дам вам оценку времени профессиональной миграции, как указано в devdocs Magento. Магазин Magento, размещенный на VirtualBox VM, CentOS 6, 2,5 ГБ ОЗУ, ядро ​​ЦП 1 с частотой 2,6 ГГц, с базой данных из 177 тыс. Продуктов, 355 тыс. Заказов, 214 тыс. Клиентов занял около 10 минут для переноса настроек и 9 минут для переноса данных, а также сайт должен был оставаться в режиме обслуживания в течение нескольких минут, чтобы переиндексировать сайт Magento 2 и изменить настройки DNS.

Хотя инструмент миграции очень полезен для переноса ваших данных и настроек в Magento 2, не все данные можно перенести с помощью этого инструмента миграции. Это три типа данных, которые необходимо передать вручную (инструкции о том, как это сделать, см. В следующей статье):

  1. СМИ
  2. Дизайн витрины
  3. ACL (списки контроля доступа)

Перед установкой инструмента миграции убедитесь, что вы выполнили все этапы «Проверка вашего веб-сайта», «Планирование инфраструктуры» и «Создание магазина Magento 2», как описано выше. После того как вы сделали все это, используйте инструкции ниже для установки:

Войдите на сервер сайта Magento как пользователь с правами на редактирование и создание файлов.

Перейдите в корневой каталог Magento 2 и введите следующую команду, чтобы сначала обновить файл composer.json:

1
composer config repositories.magento composer https://repo.magento.com

Затем введите следующую команду, чтобы запросить текущую версию пакета:

1
composer require magento/data-migration-tool:2.0.0

Это установит версию 2.0.0 пакета. Если вы намереваетесь использовать другую версию пакета, установите соответствующую версию в команде.

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

1
2
composer config repositories.data-migration-tool git https://github.com/magento/data-migration-tool-ce
composer require magento/data-migration-tool:dev-master

Когда вы запустите эти команды, вам будет предложено ввести ключи аутентификации. Для открытого ключа введите свое имя пользователя, а для закрытого ключа введите свой пароль. Более подробную информацию о ключах аутентификации можно найти в devdocs Magento .

Это должно установить инструмент миграции Magento в вашем магазине Magento 2. Мы будем использовать его для инициирования и завершения передачи, следуя процедурам, описанным в следующей статье.

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

Мы будем исходить из того, что мы оставили сегодня в следующей статье!