7
votes

Comment supprimer tous les produits du catalogue à Magento

J'ai essayé d'importer une liste de produits à Magento. Dans le premier test, j'ai eu du succès, mais les produits n'étaient pas montrés dans le dos ou le front de bureau.

Après refaire le processus d'importation à quelques reprises, j'ai découvert que j'ai les produits importés sur la base de données, mais je ne montrais toujours pas.

Si j'accède à Catalogue> Gérer les catégories> Catégorie par défaut -> Catégorie Produits Je peux voir les produits importés.

Plus tard, j'ai trouvé une erreur dans mon fichier d'importation ... et je peux importer correctement des produits

à la place ... J'ai trouvé des conflits dans le champ "SKU" ...

Ces premiers produits ne se présentent pas encore, mais ils sont toujours sur la base de données ...

Question: Comment supprimer ces produits si je ne peux pas y accéder ???? Puis-je faire cela directement sur la base de données? La suppression des lignes peut générer d'autres problèmes?

Tout indice sera apprécié!

magento ver. 1.7.0.1


0 commentaires

6 Réponses :


18
votes

Réinitialiser toutes les tables de produit. Méfiez-vous, ci-dessous Script supprimera toutes les données de votre produit, alors faites-la soigneusement. XXX

Vous pouvez avoir besoin de ré-indexer tous vos index après avoir exécuté la requête ci-dessus.

Système> Gestion de l'index> REINDEX TOUT

http://ka.lpe.sh/2012/08/09/magento-how-a-delete-remove-all-Products -From-all-catégories /

amusez-vous!


5 commentaires

Thnx Lot @kalpesh Mehta, il a fonctionné presque parfait. Il a nettoyé les produits, mais sur le catalogue> Gérer les catégories - Les noms de catégorie ont toujours le nombre de produits, tels que: catégorie par défaut (5) ... mais il n'y a pas de produits liés à une catégorie


Peut-être que vous devez faire de la ré-indexation .. admin> système> gestion de l'index


Bien sûr, je l'ai fait, en fait plusieurs fois. Et le système de cache a été désactivé depuis que j'ai commencé ... J'ai testé votre solution uniquement dans mon localhost, pas encore en ligne ...


@Diegofavero génial! Je l'ai inclus dans le script. Merci!


Vous devez également ajouter: TRONCATE Table catalog_product_relation ;



0
votes

Vous devez également ajouter: xxx

sinon, vous obtiendrez des erreurs de contrainte d'intégrité.


1 commentaires

Ceci est déjà présent dans l'autre réponse, pas besoin de le mettre deux fois



0
votes

La réponse donnée par Kalpesh Mehta travaille parfaitement.

Mais après avoir supprimé tous les produits, importer des groupes de nouveaux produits et essayez de la supprimer à l'aide de l'interface utilisateur de l'administrateur, vous pouvez une erreur comme celle-ci:

sqlstate [22003]: Valeur numérique hors de portée: 1690 La valeur non signée Bigint est hors de portée dans '( magento_store . q . items_count - 1) '

Alors, cet article m'a beaucoup aidé: Magento Suppression de produit Bigint Valeur non signée est hors limites

Il fournit plusieurs options pour résoudre le problème et le premier a fonctionné dans mon cas: xxx


0 commentaires

6
votes

Supprimer les produits avec une requête SQL n'est pas la voie magento et je recommande de ne pas le faire. Il peut provoquer une corruption de base de données ou des problèmes avec les indices de clé étrangère / contraintes comme indiqué ici .

Tout le monde intéressé à utiliser un moyen correct, sûr et rapide de modifier les choses de Magento doit toujours utiliser les fonctions ORM de Magento. P>

Dans ce cas, cela serait dans un script PHP. P>

Mage::getModel('catalog/product')->getCollection()->delete();


0 commentaires

1
votes

Vous pouvez supprimer tout le produit à l'aide de SQL direct.

Veuillez sauvegarder votre base de données et exécutez les requêtes SQL suivantes. P>

réinitialiser toutes les tables de produit. Méfiez-vous, ci-dessous Script supprimera toutes les données de votre produit, alors faites-la soigneusement. P>

`SET FOREIGN_KEY_CHECKS = 0;
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` VALUES(1, 'relation');
INSERT INTO `catalog_product_link_type` VALUES(3, 'super');
INSERT INTO `catalog_product_link_type` VALUES(4, 'up_sell');
INSERT INTO `catalog_product_link_type` VALUES(5, 'cross_sell');
INSERT INTO `catalog_product_link_attribute` VALUES(1, 1, 'position', 'int');
INSERT INTO `catalog_product_link_attribute` VALUES(2, 3, 'position', 'int');
INSERT INTO `catalog_product_link_attribute` VALUES(3, 3, 'qty', 'decimal');
INSERT INTO `catalog_product_link_attribute` VALUES(4, 4, 'position', 'int');
INSERT INTO `catalog_product_link_attribute` VALUES(5, 5, 'position', 'int');
INSERT INTO `cataloginventory_stock` VALUES(1, 'Default');
SET FOREIGN_KEY_CHECKS = 1;`

**Remove the Product counts from category at back-end**

`SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `catalog_category_product`;
TRUNCATE TABLE `catalog_category_product_index`;
SET FOREIGN_KEY_CHECKS = 1;`


**Remove the Bestseller and Most view Products at Dashboards**

`SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `report_compared_product_index`;
TRUNCATE TABLE `report_viewed_product_aggregated_daily`;
TRUNCATE TABLE `report_viewed_product_aggregated_monthly`;
TRUNCATE TABLE `report_viewed_product_aggregated_yearly`;
TRUNCATE TABLE `report_viewed_product_index`;
TRUNCATE TABLE `sales_bestsellers_aggregated_daily`;
TRUNCATE TABLE `sales_bestsellers_aggregated_monthly`;
TRUNCATE TABLE `sales_bestsellers_aggregated_yearly`;
SET FOREIGN_KEY_CHECKS = 1;`

**Flush all the flat table of products**

`SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM catalog_product_flat_1;
DELETE FROM catalog_product_flat_2;
DELETE FROM catalog_product_flat_3;
DELETE FROM catalog_product_flat_4;
DELETE FROM catalog_product_flat_5;
SET FOREIGN_KEY_CHECKS = 1;`

**Remove the review and rating of products**

`SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE table `rating_option_vote`; 
TRUNCATE table `rating_option_vote_aggregated`;
TRUNCATE table `review`; 
TRUNCATE table `review_detail`; 
TRUNCATE table `review_entity_summary`; 
TRUNCATE table `review_store`;
SET FOREIGN_KEY_CHECKS = 1;`

**For enterprise flush the following tables**

`SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `catalog_category_flat_cl`;
TRUNCATE TABLE `catalog_category_product_cat_cl`;
TRUNCATE TABLE `catalog_category_product_index_cl`;
TRUNCATE TABLE `catalog_product_flat_cl`;
TRUNCATE TABLE `catalog_product_index_price_cl`;
TRUNCATE TABLE `cataloginventory_stock_status_cl`;
TRUNCATE TABLE `catalogsearch_fulltext_cl`;
SET FOREIGN_KEY_CHECKS = 1;`


0 commentaires

0
votes

avec votre script SQL-SQL, j'ai cassé mon indice de prix. strong> Cela se produit parce que nous utilisons des prix de groupe dans le magasin. L'erreur suivante s'est produite chaque fois que j'ai essayé de réindex l'index "catalog_product_price": xxx pré>

Veuillez ajouter la ligne suivante: p>

TRUNCATE TABLE `catalog_product_entity_group_price`;


0 commentaires