Usuwanie produktów z bazy Magento

Przy każdym wdrożeniu przychodzi taki moment kiedy konieczne jest usunięcie produktów testowych lub takich, które zaimportowały się w sposób niepoprawny. Oczywiście jeżeli ich ilość jest niewielka nie ma problemu możemy zrobić to z panelu administracyjnego, co jednak w przypadku kiedy mamy potrzebę usunięcia ze sklepu kilkudziesięciu tysięcy produktów? Oczywiście możemy spędzić kilka godzin usuwając poszczególne produkty lub też możemy zrobić to poprzez bazę danych.

Jeżeli zastosujemy to drugie rozwiązanie uporamy się z produktami w kilka sekund, jednak należy pamiętać, aby usunąć wszystkie tabele. Magento nie jest prostym systemem, stąd też tabel odpowiedzialnych za same produkty jest ponad trzydzieści. Właściwe oczyszczenie bazy z produktów wymaga wyczyszczenia wszystkich tabel powiązanych z produktami. Poniżej prosta lista komend, które możecie zastosować również w swoich wdrożeniach celem oczyszczenia bazy danych z produktów:

TRUNCATE TABLE `catalog_product_bundle_option`;
TRUNCATE TABLE `catalog_product_bundle_option_value`;
TRUNCATE TABLE `catalog_product_bundle_selection`;
TRUNCATE TABLE `catalog_product_entity_datetime`;
TRUNCATE TABLE `catalog_product_entity_decimal`;
TRUNCATE TABLE `catalog_product_entity_gallery`;
TRUNCATE TABLE `catalog_product_entity_int`;
TRUNCATE TABLE `catalog_product_entity_media_gallery`;
TRUNCATE TABLE `catalog_product_entity_media_gallery_value`;
TRUNCATE TABLE `catalog_product_entity_text`;
TRUNCATE TABLE `catalog_product_entity_tier_price`;
TRUNCATE TABLE `catalog_product_entity_varchar`;
TRUNCATE TABLE `catalog_product_link`;
TRUNCATE TABLE `catalog_product_link_attribute`;
TRUNCATE TABLE `catalog_product_link_attribute_decimal`;
TRUNCATE TABLE `catalog_product_link_attribute_int`;
TRUNCATE TABLE `catalog_product_link_attribute_varchar`;
TRUNCATE TABLE `catalog_product_link_type`;
TRUNCATE TABLE `catalog_product_option`;
TRUNCATE TABLE `catalog_product_option_price`;
TRUNCATE TABLE `catalog_product_option_title`;
TRUNCATE TABLE `catalog_product_option_type_price`;
TRUNCATE TABLE `catalog_product_option_type_title`;
TRUNCATE TABLE `catalog_product_option_type_value`;
TRUNCATE TABLE `catalog_product_super_attribute`;
TRUNCATE TABLE `catalog_product_super_attribute_label`;
TRUNCATE TABLE `catalog_product_super_attribute_pricing`;
TRUNCATE TABLE `catalog_product_super_link`;
TRUNCATE TABLE `catalog_product_enabled_index`;
TRUNCATE TABLE `catalog_product_website`;
TRUNCATE TABLE `catalog_product_entity`;
 
TRUNCATE TABLE `cataloginventory_stock`;
TRUNCATE TABLE `cataloginventory_stock_item`;
TRUNCATE TABLE `cataloginventory_stock_status`;
 
INSERT  INTO `catalog_product_link_type`(`link_type_id`,`code`) VALUES (1,'relation'),(2,'bundle'),(3,'super'),(4,'up_sell'),(5,'cross_sell');
INSERT  INTO `catalog_product_link_attribute`(`product_link_attribute_id`,`link_type_id`,`product_link_attribute_code`,`data_type`) VALUES (1,2,'qty','decimal'),(2,1,'position','int'),(3,4,'position','int'),(4,5,'position','int'),(6,1,'qty','decimal'),(7,3,'position','int'),(8,3,'qty','decimal');
INSERT  INTO `cataloginventory_stock`(`stock_id`,`stock_name`) VALUES (1,'Default');

 Należy przy tym pamiętać że dla wersji Magento 1.5 konieczne jest wstawienie do tabeli cataloginventory_stock wpisu stock_id z id równym 1oraz stock_name ustawionym na Default. Miłego korzystania.

Napisz do nas

Masz pytanie?

Napisz do nas

Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Wyrażenie zgody jest niezbędne.

PDF, DOC, DOCX, JPG lub PNG (max 5MB)

Przynajmniej jedno pole jest błędnie wypełnione. Sprawdź wpisaną treść i spróbuj ponownie.
Andrzej Szylar

Andrzej Szylar

Chief Executive Officer

Dariusz Kobza

Dariusz Kobza

PR & Marketing Manager

Magdalena Paczynska

Magdalena Paczyńska

HR Business Partner