Полезные SQL запросы для Opencart 2x

В одной из предыдущих статей, мы разобрались с Вами как русифицировать OpenCart.

В этой статье, я дам вам список полезных SQL запросов для Opencart, все запросы из данной статьи тестировались только на версии Opencart 2x.

Иногда при работе с интернет-магазином на Opencart возникает необходимость быстро очистить какие либо данные в админке, это могут быть: товары, категории, производители, опции, атрибуты и прочая информация.

Делать это через админку, стандартным функционалом движка, не всегда удобно, и если количество ваших товаров давно перевалило за несколько тысяч, то единственным быстрым, удобным и бесплатным вариантом остаётся очистка нужных данных с помощью специальных SQL запросов.

Это совсем несложно и безопасно, если придерживаться нескольких правил:

  1. Всегда делать бэкап базы данных MYSQL, перед выполнением любых запросов;
  2. Если префикс вашей базы данных отличается от стандартного “oc_” перед выполнением запроса необходимо изменить префикс на ваш;
  3. После выполнения запроса проверять работу магазина, в случае каких либо ошибок делать откат базы данных.

Итак давайте рассмотрим по шагам данный процесс, покажу на примере хостинга Beget

Шаг 1 Заходим а раздел MYSQL

Ищем в панели вашего хостинга раздел MYSQL (иногда он ещё называется Базы данных)

Перейдя в раздел MYSQL ищем имя нужной нам базы данных (БД).

Если вы не знаете имя вашей БД, его можно посмотреть в файле config.php, который лежит в корне вашего магазина. Для этого подключитесь к вашему FTP серверу и откройте с помощью редактора NotePad++ файл config.php 

В нижней части файла config.php Вы найдёте значения в строках с DB_DATABASE и DB_PASSWORD, это логин и пароль к нашей базе данных они нам понадобятся далее.

!Так же обязательно проверьте значение строки содержащей DB_PREFIX, если он стандартный то есть используется oc_ то вы можете использовать SQL команды указанные в данной статье без изменений.

Если же ваш префикс отличается, то вам необходимо заменить в SQL запросах префикс oc_ на тот что указан у вас в строке с DB_PREFIX.

Шаг 2 Входим в интерфейс phpMyAdmin

Для этого жмём на иконку phpMyAdmin напротив нужной базы данных

Шаг 3 Вводим логин и пароль от нашей базы данных

Шаг 4 Переходим в раздел SQL в phpMyAdmin

Попав в phpMyAdmin заходим во вкладку SQL

Шаг 5 Выполняем SQL запрос

Копируем нужный нам SQL запрос из перечня в конце статьи и жмём кнопку Вперёд

Далее подтверждаем выполнение действия нажав кнопку Ок

В случае успешного выполнения

Вы увидите строку с результатом запроса на зеленом фоне

В случае ошибки 

Вы увидите текст об ошибке на красном фоне и запрос который вызвал ошибку

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

Шаг 6 Проверяем результат выполнения запроса в админке

В данном примере я выполнил SQL запрос на удаление всех опций товаров, поэтому идём в админку в раздел Каталог-Опции и проверяем наличие опций.

Все опции были успешно удалены!

Ну а теперь я приведу Вам сам список полезных SQL запросов для Opencart:

Отключает товары у которых цена = 0

UPDATE oc_product SET oc_product.status = 0 WHERE price = 0

Установить кол-во бонусных баллов для покупки товара равное цене

UPDATE `product` SET points = round(price);

Массовое изменение цены в Opencart
Этот пример разделит все цены на 66.28, так мы можем перевести цены в рублях на доллары.

UPDATE `oc_product` SET `price` = `price` / 66.28;

Удаление всех товаров

SET foreign_key_checks = 0;
TRUNCATE TABLE oc_product;
TRUNCATE TABLE oc_product_attribute;
TRUNCATE TABLE oc_product_description;
TRUNCATE TABLE oc_product_discount;
TRUNCATE TABLE oc_product_image;
TRUNCATE TABLE oc_product_option;
TRUNCATE TABLE oc_product_option_value;
TRUNCATE TABLE oc_product_related;
TRUNCATE TABLE oc_product_related;
TRUNCATE TABLE oc_product_reward;
TRUNCATE TABLE oc_product_special;
TRUNCATE TABLE oc_product_to_category;
TRUNCATE TABLE oc_product_to_download;
TRUNCATE TABLE oc_product_to_layout;
TRUNCATE TABLE oc_product_to_store;
TRUNCATE TABLE oc_review;
DELETE FROM oc_url_alias WHERE query LIKE 'product_id=%';

Удаление всех атрибутов и групп атрибутов

TRUNCATE TABLE oc_attribute;
TRUNCATE TABLE oc_attribute_group;
TRUNCATE TABLE oc_attribute_group_description

Удаление всех опций

TRUNCATE TABLE oc_option

Удаление всех категорий

TRUNCATE oc_category;
TRUNCATE oc_category_description;
TRUNCATE oc_category_path;
TRUNCAte oc_product_to_category;
TRUNCATE oc_category_to_store;
TRUNCATE oc_category_to_layout;
TRUNCATE oc_category_filter;
TRUNCATe oc_coupon_category;

Удаление всех производителей

TRUNCATE TABLE oc_manufacturer

Удаление всех заказов

TRUNCATE TABLE oc_order;
TRUNCATE TABLE oc_order_history;
TRUNCATE TABLE oc_order_option;
TRUNCATE TABLE oc_order_product;
TRUNCATE TABLE oc_order_recurring;
TRUNCATE TABLE oc_order_recurring_transaction;
TRUNCATE TABLE oc_order_total;
TRUNCATE TABLE oc_order_voucher;

Удаление всех покупателей

TRUNCATE oc_customer;
TRUNCATE oc_customer_activity;
TRUNCATE oc_customer_history;
TRUNCATE oc_customer_login;
TRUNCATE oc_customer_ip;
TRUNCATE oc_customer_online;
TRUNCATE oc_customer_reward;
TRUNCATE oc_customer_transaction;
TRUNCATE oc_customer_search;
TRUNCATE oc_customer_wishlist;
TRUNCATE oc_custom_field;
TRUNCATE oc_custom_field_customer_group;
TRUNCATE oc_custom_field_description;
TRUNCATE oc_custom_field_value;
TRUNCATE oc_custom_field_value_description;

Если у Вас есть свои полезные SQL запросы, которыми вы хотели бы поделиться с остальными подписчиками, пишите их в комментариях и я обязательно добавлю их в эту статью!


Понравилась статья? Поставьте лайк, и напишите Ваш комментарий!

Так же делитесь статьёй со своими друзьями и знакомыми в социальных сетях!


Остались вопросы? Задайте их в комментариях, и я обязательно отвечу.

Хотите узнать больше об OpenCart? Подписывайтесь на мой Youtube канал!

Вам так же может понравиться

Об авторе: Admin

Оставить комментарий

  Подписаться  
Уведомление о