web-dev-qa-db-fra.com

Liste des tables à tronquer en toute sécurité dans Magento?

Existe-t-il une liste de tables pouvant être tronquées en toute sécurité dans Magento? Par sécurité, je veux dire préserver les produits.

J'en ai quelques-uns mais je veux savoir s'il y en a plus:

    core_url_rewrite # Only safe if no custom rewrites are in place
    catalog_product_flat_1
    catalog_product_flat_# (# depends on the multistore)
    log_customer
    log_quote
    log_summary
    log_summary_type
    log_url
    log_url_info
    log_visitor
    log_visitor_info
    log_visitor_online
19
user1529891

Avant de faire quoi que ce soit

  • Assurez-vous d'abord de bien effacer ces données dans un environnement de non-production.
  • Toujours faire des sauvegardes avant de perdre des données pour toujours.
  • Assurez-vous que vous êtes truncateing et non droping.
  • Probablement une bonne idée de tout réindexer via Shell après la suppression massive d'enregistrements

Mettre à jour:

Vous pouvez utiliser this n98-magerun module pour nettoyer vos tables.

Ou faites-le manuellement en suivant les instructions ci-dessous.


Pour approfondir la réponse de Jim, le support de Magento n'a pas besoin du contenu de ces tables lorsqu'il demande une copie de votre base de données. Vous pouvez donc les considérer comme non essentielles.

Tables de cache

core_cache
core_cache_tag

Les données en cache sont temporaires. Les éliminer devrait être sûr.

Tables de session

core_session

Pas besoin de garder des sessions d'un an. De nouvelles sessions seront automatiquement créées (bien que cela entraînera la déconnexion des personnes/interrompra un flux de paiement actuel).

Tables de flux de données

dataflow_batch_export
dataflow_batch_import

Il existe essentiellement des journaux de chaque fois qu'un lot est exécuté et non critique.

Journaux d'administration

enterprise_logging_event
enterprise_logging_event_changes

Ce sont des journaux dont les administrateurs font quoi dans le backend. Très gentil pour traquer "qui a cassé quoi" mais ne doit pas être gardé pour toujours. Vous pouvez les tronquer en toute sécurité.

Astuce: assurez-vous de supprimer les anciens enregistrements dans Système> Configuration> Avancé> Système> Archivage du journal des actions de l'administrateur.

Tables de soutien

enterprise_support_backup
enterprise_support_backup_item

L’histoire du support de Magento peut exister ou non pour vous.

Tables d'index

index_event
index_process_event

Un journal des entrées d'index qui doivent être mises à jour. Cependant, ils ne se suppriment pas une fois qu'ils sont obsolètes.

Tables de journal

log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online

Journal des données, principalement inutilisé. Cependant, j'ai vu des modules "Trier par le plus consulté" utiliser la table log_visitor_info alors soyez prudent.

Astuce: assurez-vous de supprimer les anciens enregistrements dans Système> Configuration> Avancé> Système> Nettoyage des journaux (ceci concerne uniquement les visiteurs, les clients et les URL)

Tableaux de rapport

report_event
report_viewed_product_index

Ce sont des tables agrégées qui peuvent être reconstruites lors de l’exécution de rapports.


Les autres tables pouvant utiliser une taille de temps en temps sont

Tables de cotation

sales_flat_quote
sales_flat_quote_address
sales_flat_quote_address_item
sales_flat_quote_item
sales_flat_quote_item_option
sales_flat_quote_payment
sales_flat_quote_shipping_rate

Si le fait d’avoir des données de panier abandonnées depuis 3 ans n’est pas important pour vous, envisagez de les tronquer. Gardez à l'esprit que les paniers actuels sont ici, donc planifiez-le en dehors des heures de travail ou supprimez les lignes avec updated_at plus ancien que X jours.

Pro-tip: installer Aoe_QuoteCleaner

Tables de préparation

Si vous utilisez la fonctionnalité de transfert intermédiaire d'Enterprise, vous pouvez commencer à voir les tables avec le préfixe s_. Il n'y a pas de nettoyage pour ceux-ci une fois le site intermédiaire supprimé. Si votre table enterprise_staging est vide, vous n’avez plus besoin de ces tables.

Tables de modifications

catalog_category_flat_cl
catalog_category_product_cat_cl
catalog_category_product_index_cl
catalog_product_flat_cl
catalog_product_index_price_cl
cataloginventory_stock_status_cl
catalogsearch_fulltext_cl
enterprise_url_rewrite_category_cl
enterprise_url_rewrite_product_cl
enterprise_url_rewrite_redirect_cl

Magento a introduit les déclencheurs MySQL qui écrivent pour modifier les tables de journalisation lorsque les données de certaines tables sont modifiées. Plus tard, l'indexeur du planificateur prend les entrées du journal des modifications et met à jour les éléments. Cependant, cela ne nettoie pas quand c'est fait. Vous pouvez les effacer de temps en temps.

Tables plates de catégorie et de produit

catalog_category_flat_store_1
catalog_category_flat_store_2
catalog_category_flat_store_3
catalog_category_flat_store_4
catalog_category_flat_store_5
catalog_category_flat_store_6
catalog_category_flat_store_7
catalog_product_flat_1
catalog_product_flat_2
catalog_product_flat_3
catalog_product_flat_4
catalog_product_flat_5
catalog_product_flat_6
catalog_product_flat_7

Ces tables, j’ai tendance à drop. Après une réindexation, ils se recréeront. Dans certains cas, le magasin 7 peut ne plus exister, mais vous avez toujours la table vide.

Tables de réécriture d'URL

Soyez prudent ici, vous ne voudrez peut-être pas tout tronquer.

core_url_rewrite
enterprise_url_rewrite

Commencez par rechercher les enregistrements is_system = 0. Si vous ne souhaitez pas tronquer, vous perdrez les redirections personnalisées. Essayez DELETE FROM core_url_rewrite WHERE is_system = 1 à la place. La réindexation des réécritures va repeupler cette table avec le reste.

Plus de tableaux de rapport

report_viewed_product_aggregated_daily
report_viewed_product_aggregated_monthly
report_viewed_product_aggregated_yearly

Ceux-ci sont agrégés et peuvent être reconstruits (comme des index).

43
Steve Robbins

Lorsque vous enregistrez un problème avec l'assistance de Magento et que celui-ci vous demande de fournir un cliché de la base de données, le script qu'il vous donne draine le schéma uniquement pour les tables suivantes:

core_cache
core_cache_option
core_cache_tag
core_session
dataflow_batch_export
dataflow_batch_import
enterprise_logging_event
enterprise_logging_event_changes
enterprise_support_backup
enterprise_support_backup_item
index_event
index_process_event
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
report_event
report_viewed_product_index

Si le support de Magento n’a pas besoin du contenu de ces tables pour résoudre les problèmes, on peut supposer qu’ils peuvent être tronqués en toute sécurité.

Les tables catalog_product_flat_* et catalog_category_flat_* peuvent également être tronquées car une réindexation les recompilera. 

Un utilisateur peut ajouter des entrées à la table core_url_rewrite manuellement à partir du back-end et je ne voudrais pas garantir que deux catégories de produits avec des clés d'URL identiques auront toujours les mêmes URL après avoir tronqué core_url_rewrite. Ce n’est pas un problème sur lequel je compterais pour pouvoir tronquer en toute sécurité.

28
Jim OHalloran

Je souhaite ajouter à la liste que vous pouvez également tronquer "catalogrule_product" et "catalogrule_product_price". Vous pouvez le régénérer en exécutant Appliquer les règles dans Pormos> Règles de catalogue. J'ai tronqué ce tableau plusieurs fois pour savoir qu'il était sûr… .. NB! Tous les prix de vos règles de catalogue disparaîtront de l'interface jusqu'à ce que vous réexécutiez les règles.

J'aimerais aussi voir si quelqu'un peut décrire ce qui se passe avec le site si ces tables sont effacées. Par exemple. Je suppose que le fait de supprimer core_session (si nous utilisons une base de données pour les stocker) supprimera toutes les sessions "connectées" actuelles des clients, supprimera-t-il également les paniers des invités?

1
augsteyer

Je doute qu’il soit utile de tronquer les tableaux i_e admin_ *. Ce qui est fait si vous suivez la liste ci-dessus des seules tables valables . Il vous faudra ajouter l'administrateur à nouveau. 

Je n'ai pas vérifié d'autres tables. Je suis tombé par hasard sur les 3 premières tables de mon installation.

0
limex