sql - команды для opencart 3

4800

Недавно на одном из проектов случилась неприятная ситуация: по ошибке из базы 1с на сайт на opencart 3 выгрузилось 4000 лишних товаров. Бэкап базы на тот момент был лишь трехдневной давности, а буквально вчера на сайте проводились работы. Поэтому резервное восстановление отпадало. Удалять 4000 товаров ручками не хотелось и начался поиск альтернативного решения проблемы. И тут в голову пришла идея использовать sql - запрос, благо у всех выгруженных товаров не было изображений. В итоге спасла такая команда, которая удаляет из базы данных все товары, у которых нет картинки:

DELETE FROM `oc_product` WHERE image = ''

Еще несколько полезных sql - запросов, которые использовались ранее на проектах:

Запрос ниже позволяет установить скидку в 1000 р. для всех товаров:

UPDATE `oc_product` SET `price` = `price` - 1000;

Удаление всех товаров с нулевой ценой в opencart 3:

DELETE FROM `oc_product` WHERE price = 0

Отключение всех товаров с нулевой ценой:

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

Отключение всех товаров из определенной категории:

UPDATE oc_product LEFT JOIN oc_product_to_category ON oc_product.product_id = oc_product_to_category.product_id SET status=0 WHERE category_id=67

Привязать товар к категории через БД:

insert into oc_product_to_category SET product_id = 694 , category_id = 5;

Id товара и категории можно увидеть в самом конце адресной строки браузера при редактировании

Как быстро удалить через mysql все товары в opencart, можно прочитать здесь 

Добавить комментарий

Ваш адрес email не будет опубликован.

*
code