Resettare le tabelle di Drupal Commerce da MySQL

Come resettare il database di Drupal Commerce

Il modulo Drupal Commerce è il framework di riferimento per la creazione di siti E-Commerce con Drupal. In alcuni casi potrebbe essere necessario un reset completo del database, ecco come fare.

Resettare le tabelle di Drupal Commerce da MySQL

Alcuni utenti/sviluppatori non esperti potrebbero cancellare gli ordini effettuati su Drupal Commerce svuotando la tabella commerce_order, niente di più sbagliato. La procedura corretta è quella di eliminare i dati attraverso l'interfaccia grafica di Drupal in quanto esistono molte altre tabelle correlate.

Se però la frittata è stata fatta, si deve procedere a mano con la risoluzione del problema svuotando tutte le altre tabelle collegate.

Ecco uno script SQL di esempio che serve per cancellare completamete tutti i dati di Drupal Commerce:

truncate commerce_customer_profile;
truncate commerce_customer_profile_revision;
truncate field_data_commerce_shipping_service;
truncate field_revision_commerce_shipping_service;

truncate commerce_line_item;
truncate commerce_order;
truncate commerce_order_revision;

truncate field_data_commerce_customer_address;
truncate field_data_commerce_customer_billing;
truncate field_data_commerce_customer_shipping;
truncate field_data_commerce_display_path;
truncate field_data_commerce_line_items;
truncate field_data_commerce_order_total;
truncate field_data_commerce_product;
truncate field_data_commerce_total;
truncate field_data_commerce_unit_price;

truncate field_revision_commerce_customer_address;
truncate field_revision_commerce_customer_billing;
truncate field_revision_commerce_customer_shipping;
truncate field_revision_commerce_display_path;
truncate field_revision_commerce_line_items;
truncate field_revision_commerce_order_total;
truncate field_revision_commerce_product;
truncate field_revision_commerce_total;
truncate field_revision_commerce_unit_price;

truncate commerce_payment_transaction;
truncate commerce_payment_transaction_revision;

Attenzione, si tratta di comandi che eliminano completamente i dati nelle varie tabelle, quindi non vanno eseguiti con leggerezza.

Per essere sicuri di non peggiorare la situazione consiglio sempre di:

  1. Verificare che tutte le tabelle non contengano dati necessari.
  2. Fare un backup.

Mettere le mani nel database è sempre una operazione delicata, quindi prima di procedere è sempre meglio accertarsi che quanto si sta facendo sia corretto.