Jump to content

[Résolu] Comment supprimer en masse rapidement tous les produits de mon catalogue


Recommended Posts

Bonjour,

Je cherche à supprimer rapidement des produits de mon catalogue.

Aujourd’hui, je sélectionne mes produits et utilise le bouton “Supprimer la sélection” par défaut de prestashop. Or cela prend en temps fou !

Pour supprimer 20 produits, la requête mets plus de 3 minutes.

et je souhaite supprimer 3000 produits…

J’hésite à faire des DELETE brut directement en base car j’ai peur des effets de bord lié à l’imbrication des tables.

Quelques a-t-il déjà rencontré ce problème ? Y-a-t-il une solution rapide pour supprimer des produits en masse ?

Prestashop 1.3.2.3

Merci d’avance.

Link to comment
Share on other sites

Merci machpro, mais dans mon message j'indiquais : J’hésite à faire des DELETE brut directement en base car j’ai peur des effets de bord lié à l’imbrication des tables.

Ok pour phpmyadmin mais peux-tu détailler un peu plus, sur quelles tables ? ok pour product mais yen a-t-il d'autres ?

Pas de modules existant pour ce faire ?

Merci

Link to comment
Share on other sites

tu peux aussi .. utiliser l'outil d'import par CSV ... et fournir un csv vide ou avec un seul produit...

N'oublies pas pas de confirmer : EFFACER LES PRODUITS avant l'import !!

et ça devrait faire la bidouille que tu attends... car tout est effacé en quelques secondes.


PS: passer par phpmyadmin, ça doit être le bordel car il doit bien y avoir plusieurs tables à prendre en consideration.

Link to comment
Share on other sites

de rien.. quand je peux aider c'est avec plaisir !

et ça fait toujours plaisir quand ça fonctionne ! // ENjoY


PS : Prestashop manque encore de pas mal d'options sympathiques dans le genre, espérons que la team lit les posts du forum !

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

je voulais juste apporter une petite précision quant à cette méthode : ça laisse des "traces" des produits supprimés un peu partout dans la base. J'ai fait le test sur ma version de Prestashop (1.3.1.1, non mis à jour car j'ai modifié pas mal de choses dans les classes, bref). Je n'ai pas testé sur la dernière version.

 

Je n'ai pas fait le tour de toutes les tables, je me suis arrêté à la table 'product_attribute' (table des déclinaisons) où j'ai constaté qu'elle n'a pas été vidée du tout ! Et c'est une source de problèmes, car si tu crées des nouveaux articles, ça risque de te coller des déclinaisons délirantes.

A moins que tu ne repartes pas de zéro pour tes 'Ids Produits', mais cette méthode à l'air de réinitialiser l'incrément... et de repartir de zéro.

 

Bon enfin tout ça pour dire, il faut se méfier avec cette méthode, ce n'est pas si propre que ca ! :P

Link to comment
Share on other sites

  • 2 months later...

Pas de modules existant pour ce faire ?

 

Pas à ma connaissance. J'utilise ce script SQL.

 

Soyez raisonnables. Sauvegardez la base de données avant d'exécuter le script !

 

########################
# BACKUP YOUR DATABASE #
########################
#
# This script empties the product table and all linked tables with dependent data.
#
# This is somewhat arbitrary: for example, we're keeping the tags but we're deleting
# attachments, which could be reused for new products.
#
# "*" indicates a Primary Key
#
# @author	Christian Lescuyer
# @company   Goelette http://goelette.net/
# @copyright 2011 Goélette
# @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
# @version   1.0 original version, applies to Prestashop 1.4.5.1
#
########################
# BACKUP YOUR DATABASE #
########################

# All these tables have an id_product primary key [or should have!]
TRUNCATE TABLE ps_product;					   # *id_product  id_supplier id_manufacturer id_tax_rules_group id_category_default id_color_default
TRUNCATE TABLE ps_product_attachment;			# *id_product *id_attachment
TRUNCATE TABLE ps_product_country_tax;		   #  id_product  id_country id_tax
TRUNCATE TABLE ps_product_group_reduction_cache; # *id_product *id_group
TRUNCATE TABLE ps_product_lang;				  # *id_product *id_lang
TRUNCATE TABLE ps_product_sale;				  # *id_product
TRUNCATE TABLE ps_product_tag;				   # *id_product *id_tag
TRUNCATE TABLE ps_category_product;			  #  id_product  id_category
TRUNCATE TABLE ps_compare_product;			   #  id_product *id_compare_product id_guest id_customer
TRUNCATE TABLE ps_feature_product;			   # *id_product *id_feature
TRUNCATE TABLE ps_search_index;				  # *id_product *id_word
TRUNCATE TABLE ps_specific_price;				#  id_product *id_specific_price
TRUNCATE TABLE ps_specific_price_priority;	   # *id_product *id_specific_price_priority
# This one is special, links product to product
TRUNCATE TABLE ps_accessory;					 #  id_product_1  id_product_2
# Packs
TRUNCATE TABLE ps_pack;						  # *id_product_pack *id_product_item
# All these tables have an id_attachment primary key
TRUNCATE TABLE ps_attachment;	   # *id_attachment
TRUNCATE TABLE ps_attachment_lang;  # *id_attachment *id_lang
# All these tables have an id_attribute primary key
TRUNCATE TABLE ps_attribute;	   # *id_attribute id_attribute
TRUNCATE TABLE ps_attribute_lang;  # *id_attribute *id_lang
# All these tables have an id_attribute_group primary key
TRUNCATE TABLE ps_attribute_group;	  # *id_attribute_group
TRUNCATE TABLE ps_attribute_group_lang; # *id_attribute_group *id_lang
# All these tables have an id_attribute_impact primary key
TRUNCATE TABLE ps_attribute_impact;	 # *id_attribute_impact id_product id_attribute
# All these tables have an id_feature or id_feature_value key
TRUNCATE TABLE ps_feature;			 # *id_feature
TRUNCATE TABLE ps_feature_lang;		# *id_feature *id_lang
TRUNCATE TABLE ps_feature_value;	   # *id_feature_value  id_feature
TRUNCATE TABLE ps_feature_value_lang;  # *id_feature_value *id_lang
# All these tables have an id_customization_field key
TRUNCATE TABLE ps_customization_field;		   # *id_customization_field  id_product
TRUNCATE TABLE ps_customization_field_lang;	  # *id_customization_field *id_lang
# All these tables have an id_image primary key [or should have!]
TRUNCATE TABLE ps_image;		# *id_image  id_product
TRUNCATE TABLE ps_image_lang;   #  id_image  id_lang
# All these tables have an id_product_attribute primary key
TRUNCATE TABLE ps_product_attribute;			   # *id_product_attribute id_product
TRUNCATE TABLE ps_product_attribute_combination;   # *id_product_attribute *id_attribute
TRUNCATE TABLE ps_product_attribute_image;		 # *id_product_attribute *id_image
# All these tables have an id_product_download primary key
TRUNCATE TABLE ps_product_download;   # *id_product_download id_product
# All these tables have an id_word primary key
TRUNCATE TABLE ps_search_word;  # *id_word  id_lang
# All these tables have an id_tag primary key
# TRUNCATE TABLE ps_tag
# Empty carts
TRUNCATE TABLE ps_cart;			 # *id_cart ...
TRUNCATE TABLE ps_cart_discount;	#  id_cart
TRUNCATE TABLE ps_cart_product;	 #  id_cart id_product id_product_attribute
TRUNCATE TABLE ps_customization;	# *id_cart *id_customization *id_product
TRUNCATE TABLE ps_customized_data;  # *id_customization (see above)
# Delete Scenes
TRUNCATE TABLE ps_scene;			 # *id_scene
TRUNCATE TABLE ps_scene_category;	# *id_scene *id_category
TRUNCATE TABLE ps_scene_lang;		# *id_scene *id_lang
TRUNCATE TABLE ps_scene_products;	# *id_scene *id_product *x_axis *y_axis
# Delete stock movements
TRUNCATE TABLE ps_stock_mvt;  # *id_stock_mvt id_product ...

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...