Usuwanie produktów z bazy Magento

25.11.2013 Angelika Siczek
koniec wsparcia akeneo 4.0 i nowości w wersji 5.0

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.

Masz pytanie?

Napisz do nas

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

    *Wymagane

    Andrzej-kurs-programowania

    Andrzej Szylar

    Chief Executive Officer

    E-mail:

    andrzej.szylar@unitygroup.com
    Magda2

    Magdalena Paczyńska-Kamienik

    HR Manager

    E-mail:

    magdalena.paczynska@unitygroup.com
    Aleksandra

    Aleksandra Bielawska-Clegg

    HR Business Partner

    E-mail:

    Michal

    Michał Duława

    New Business Developer

    E-mail:

    Katarzyna

    Katarzyna Zajchowska

    Marketing Partner

    E-mail: