Database PrestaShop: le tabelle chiave che ogni proprietario di negozio dovrebbe conoscere
PrestaShop conserva tutto, prodotti, ordini, clienti, impostazioni, in un database MySQL, le cui tabelle usano un prefisso (di default ps_, scelto in fase di installazione). Conoscere le tabelle chiave permette di diagnosticare più in fretta, eseguire operazioni di massa che il pannello non offre e reagire quando il back office si blocca. Ecco le essenziali.

SELECT p.id_product, pl.name, ps.active, ps.price, sa.quantity
FROM ps_product p
JOIN ps_product_lang pl ON pl.id_product = p.id_product AND pl.id_lang = 1
JOIN ps_product_shop ps ON ps.id_product = p.id_product AND ps.id_shop = 1
LEFT JOIN ps_stock_available sa ON sa.id_product = p.id_product AND sa.id_product_attribute = 0
ORDER BY p.id_product DESC
LIMIT 20;
SELECT id_order, reference, id_customer, total_paid, current_state, date_add
FROM ps_orders
ORDER BY id_order DESC
LIMIT 20;Prodotti
- ps_product, una riga per prodotto:
id_product,price(IVA esclusa),reference,active, date. - ps_product_lang, nome, descrizione, meta e
link_rewrite(slug URL) per lingua, una riga per prodotto, lingua e negozio. - ps_product_shop, prezzo, stato e visibilità per negozio (rispecchia ps_product in mono-negozio).
- ps_stock_available, la vera fonte di giacenza (non
ps_product.quantity, ormai obsoleto). - ps_product_attribute, combinazioni/varianti; ps_specific_price, sconti e prezzi speciali.
Categorie
ps_category (albero nested set: nleft, nright, level_depth), ps_category_lang (nomi, meta) e ps_category_product (quali prodotti in quale categoria, con posizione).
Ordini e clienti
- ps_orders, una riga per ordine:
reference,id_customer,current_state,total_paid_tax_incl,date_add. - ps_order_detail, righe d'ordine; ps_order_history, ogni cambio di stato con timestamp; ps_order_state(_lang), definizioni degli stati.
- ps_customer (email,
passwdcon hash, gruppo), ps_address, ps_cart / ps_cart_product (carrelli che non diventano per forza ordini).
Configurazione e struttura
ps_configuration è l'archivio chiave-valore di ogni impostazione del back office; ps_hook_module mappa quali moduli girano su quale hook e in quale ordine; ps_shop_url associa i domini ai negozi, da non modificare mai a mano.
Ottimizzare il database
Le operazioni di massa sono più rapide in SQL, ma faccia sempre prima un backup, testi con SELECT prima di ogni UPDATE/DELETE e non elimini le tabelle dei moduli (disinstalli il modulo). Col tempo, carrelli abbandonati, vecchi ospiti, connessioni e log gonfiano queste tabelle; ridurle mantiene veloci le query. Per la pulizia automatica e la cache veda Performance Revolution e la nostra guida all'ottimizzazione del database.
Questa risposta ti è stata utile?
Hai ancora domande?
Non trovi quello che cerchi? Inviaci la tua domanda e ti risponderemo.