Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.


Add post

Add question

You must login to ask a question.

Login

Register Now

Цель сайта совместная помощь друг другу, если вы желаете скачивать ресурсы и ничего при этом не делать, вам нужно оплатить Подписку Другой вариант активно помогать другим участникам

SQL-запросы для очистки данных в OpenCart полезные советы

SQL-запросы для очистки данных в OpenCart полезные советы

При создании нового магазина или перезапуске в OpenCart, иногда необходимо очистить данные, такие как категории, товары, атрибуты и другие записи в базе данных. Удаление товаров и категорий в OpenCart

Вот несколько SQL-запросов, которые помогут вам очистить данные:

Очистить все категории в OpenCart 3:

TRUNCATE TABLE oc_category;
TRUNCATE TABLE oc_category_description;
TRUNCATE TABLE oc_category_filter;
TRUNCATE TABLE oc_category_path;
TRUNCATE TABLE oc_category_to_layout;
TRUNCATE TABLE oc_category_to_store;
DELETE FROM oc_seo_url WHERE query LIKE 'category_id=%';

Удалить только Seo URL от категорий:

DELETE FROM oc_seo_url WHERE query LIKE 'category_id=%';

Очистить все товары в OpenCart 3:

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_seo_url WHERE query LIKE 'product_id=%';

Удалить только Seo URL от товаров:

DELETE FROM oc_seo_url WHERE query LIKE 'product_id=%';

Очистить все атрибуты в OpenCart:

TRUNCATE TABLE oc_attribute;
TRUNCATE TABLE oc_attribute_description;
TRUNCATE TABLE oc_attribute_group;
TRUNCATE TABLE oc_attribute_group_description;
TRUNCATE TABLE oc_product_attribute;

Очистить все опции в OpenCart:

TRUNCATE TABLE oc_option;
TRUNCATE TABLE oc_option_description;
TRUNCATE TABLE oc_option_value;
TRUNCATE TABLE oc_option_value_description;
TRUNCATE TABLE oc_product_option;

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

TRUNCATE TABLE oc_manufacturer;
TRUNCATE TABLE oc_manufacturer_to_store
Последнее только для ocstore
TRUNCATE TABLE oc_manufacturer_description

После создания новых может появится ошибка типу или что подобное:

Fatal error: Uncaught Exception: Error: Duplicate entry '2-0' for key 'oc_manufacturer_to_layout.PRIMARY'<br />Error No: 1062<br />INSERT INTO oc_manufacturer_to_layout SET manufacturer_id = '2', store_id = '0', layout_id = '0' in /var/www/system/library/db/mysqli.php:41 Stack trace: #0 /var/www/system/library/db.php(45): DB\MySQLi->query('INSERT INTO oc_...') #1 /var/www/storagest/modification/admin/model/catalog/manufacturer.php(13): DB->query('INSERT INTO oc_...') #2 www/storagest/modification/system/engine/loader.php(248): ModelCatalogManufacturer->addManufacturer(Array) #3 www//system/engine/proxy.php(47): Loader->{closure}(Array, Array) #4 www/admin/controller/catalog/manufacturer.php(26): Proxy->__call('addManufacturer', Array) #5 www/storagest/modification/system/engine/action.php(79): ControllerCatalogManufacturer->add() #6 /var/www/system/library/db/mysqli.php on line 41

Можно попробовать

DELETE FROM oc_manufacturer_to_layout WHERE manufacturer_id = '1' AND store_id = '0' AND layout_id = '0';

Или просто очистить oc_manufacturer_to_layout

 

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

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;

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

About Grek

Хорошее начало — не мелочь, хотя и начинается с мелочи По вопросам подписки / рекламе, пишите в личку https://t.me/trafimmamedov или на почту [email protected]

Follow Me

Comments ( 2 )

  1. Очень полезно, спс большое!

  2. а как обнулить количество товара в карточках массово *?

    • UPDATE oc_product
      SET quantity = 0;
      или
      UPDATE oc_product
      SET quantity = 0
      WHERE product_id IN (
      SELECT product_id FROM oc_product_to_category WHERE category_id = 10
      );

Leave a reply