RadicalMart 2 -> RadicalMart 3: миграция
Переход с RM2 на RM3
Этот гайд описывает практический порядок миграции сайта с RadicalMart 2 на RadicalMart 3: подготовить копию, установить RadicalMart Updater, обновить пакет RadicalMart, запустить консольную команду и проверить результат.
Сначала локальная или отдельная копия
Не запускайте миграцию сразу на рабочем сайте. Сначала выполните весь процесс на копии с актуальной базой данных и файлами, проверьте плагины, шаблонные переопределения, оформление заказа, оплату, доставку, карточки товаров и страницы категорий.
Короткий маршрут
1. Подготовьте копию
безопасная площадка
Скопируйте файлы и базу сайта на локальный стенд или отдельный сервер. Проверьте, что копия открывается, а админка Joomla и RadicalMart доступны.
2. Установите Updater
плагин миграции
Скачайте последний релиз RadicalMart Updater, установите его через менеджер расширений Joomla и убедитесь, что плагин группы radicalmart включен.
3. Установите RadicalMart 3
основное обновление
Установите пакет RadicalMart 3 поверх копии сайта. Для RM3 требуются Joomla 5.2+, PHP 8.1+, MySQL 8.0.21+ или MariaDB 10.4.1+.
4. Запустите CLI
перенос структуры и данных
В терминале сервера выполните команду миграции Joomla CLI и дождитесь завершения всех стадий. После этого проверьте сайт на копии.
Пошаговая инструкция
-
Создайте копию сайта и убедитесь, что у вас есть доступ к терминалу, файловой системе и резервной копии базы данных.
-
Установите плагин RadicalMart Updater. Он добавляет CLI-команду миграции и позволяет корректно пройти переход с RM2 на RM3.
-
Установите пакет RadicalMart 3. Если Updater не установлен или выключен, прямое обновление с RM2 может быть остановлено сообщением о необходимости миграции.
-
Подключитесь к серверу по SSH или через терминал панели управления и перейдите к окружению, где доступен CLI PHP нужной версии.
-
Запустите команду radicalmart:updater:3.0.0 через cli/joomla.php из корня сайта Joomla.
-
После завершения проверьте админку RadicalMart, витрину, оформление заказа, меню, интеграции и кастомные доработки. Только после успешной проверки планируйте перенос на рабочий сайт.
Команда миграции
Запуск из терминала
/bin/php83 /SITE_ROOT/cli/joomla.php radicalmart:updater:3.0.0
| Часть команды | Пример | Что означает |
|---|---|---|
PHP CLI | /bin/php83 | Путь к консольному PHP на сервере. На хостинге он может отличаться, поэтому используйте путь из панели управления или инструкции провайдера. |
Joomla CLI | /SITE_ROOT/cli/joomla.php | Консольный вход Joomla в папке сайта. /SITE_ROOT заменяется на реальный корень сайта. |
Команда Updater | radicalmart:updater:3.0.0 | Команда плагина RadicalMart Updater для перехода на структуру RadicalMart 3. Она доступна после установки и включения Updater. |
Что делает миграция
Updater выполняет стадии последовательно: обновляет параметры компонента, структуру таблиц, пункты меню и затем пересохраняет товары и мета-товары через модели RadicalMart. На больших каталогах финальные стадии могут занимать заметное время.
| Область | Где | Суть изменения |
|---|---|---|
Параметры | config | Переносятся настройки входа, приватности и дополнительного меню пользователя в параметры RM3. После миграции стоит открыть настройки компонента и проверить код входа, приватность и user-agent. |
Товары | products | В #__radicalmart_products добавляются поля маршрутизации категорий, дополнительных категорий, связанного мета-товара и журнала изменений. Старые поля категорий и сортировки удаляются после переноса. |
Мета-товары | metas | В #__radicalmart_metas добавляются поля категорий, дат, авторов, текста, поиска, цен, остатков и дополнительных параметров. Вариативность товаров связывается через meta_variability. |
Категории | categories | Старые счетчики товаров и мета-товаров переносятся в JSON-поле totals. Центральная таблица #__radicalmart_categories_items получает связи товаров, категорий, фильтров, остатков, цен и сортировок. |
Поля | fields | Старое поле fieldset разделяется на fieldset_administrator и fieldset_site, чтобы наборы полей можно было различать для админки и витрины. |
Меню | menu | Пункты меню RadicalMart со старым видом view=categories переводятся на view=category, а layout сохраняется в параметрах пункта меню. |
Пересохранение | models | Товары и мета-товары пересохраняются пачками через административные модели. Это пересобирает поисковые данные, связи с категориями, фильтры, цены и остатки, а также вызывает плагины, участвующие в сохранении. |
Проверка после завершения
-
Откройте админку RadicalMart: товары, категории, мета-товары, заказы, покупатели, способы доставки и оплаты.
-
Проверьте витрину: страницы категорий, карточки товаров, поиск, фильтры, цены, остатки и URL пунктов меню.
-
Пройдите тестовый заказ на копии сайта: корзина, данные покупателя, доставка, оплата, статус заказа и письма.
-
Проверьте настройки компонента: код входа, приватность, дополнительное меню пользователя, складской учет, SEO и параметры вариативных товаров.
-
Проверьте кастомные плагины и шаблонные переопределения, особенно если они обращались к старым полям категорий, сортировки, наборам полей или старому виду меню.
Если миграция остановилась
Обновление RM3 не начинается
Updater не включен
Установите и включите плагин radicalmart/updater, затем повторите установку пакета RadicalMart 3 на копии сайта.
Ошибка на товаре или мета-товаре
сохранение модели
Финальные стадии используют модели RadicalMart. Исправьте данные или временно отключите несовместимый обработчик на копии, затем повторите команду миграции.
Кастомный код RM2
совместимость
Проверьте обращения к старым полям categories, pathway, ordering_price, fieldset и к меню view=categories.
Нужен откат
резервная копия
Надежный откат - восстановить полную копию файлов и базы данных, сделанную перед миграцией. Не откатывайте только отдельные таблицы, если уже менялись структура, меню, модули и параметры компонента.
Скриншоты процесса
Блокировка прямого обновления
Сообщение о необходимости миграции перед переходом с RM2 на RM3.
Начало команды Updater
Первые стадии обновления структуры и переноса данных.
Обработка данных
Стадии обработки товаров, мета-товаров и связанных данных.
Завершение
Финальные стадии миграции и завершение вывода в терминале.