Database PrestaShop: Le tabelle chiave che ogni proprietario di negozio dovrebbe conoscere
Perché capire il database è importante
PrestaShop memorizza tutto — prodotti, ordini, clienti, impostazioni, traduzioni, immagini, prezzi — in un database MySQL. Capire la struttura del database ti dà superpoteri per diagnosticare problemi, eseguire operazioni massive e recuperare dagli errori.
Tabelle dei prodotti
ps_product
La tabella principale dei prodotti con dati fondamentali -
| Colonna | Scopo |
|---|---|
| id_product | Identificatore unico del prodotto |
| price | Prezzo base (tasse escluse) |
| reference | Riferimento/SKU del prodotto |
| active | Abilitato (1) o disabilitato (0) |
ps_product_lang
Dati prodotto specifici per lingua - nome, descrizione, meta titolo, URL.
ps_stock_available
La tabella effettiva di tracciamento delle scorte.
SELECT * FROM ps_stock_available
WHERE id_product = 42 AND id_product_attribute = 0;Tabelle degli ordini
ps_orders
La tabella commerciale più importante. Ogni riga è un ordine completato.
ps_order_detail
Le singole righe all'interno di un ordine con prodotto, quantità e prezzo.
SELECT o.reference, o.date_add, o.total_paid_tax_incl,
od.product_name, od.product_quantity, od.unit_price_tax_incl
FROM ps_orders o
JOIN ps_order_detail od ON o.id_order = od.id_order
WHERE o.id_order = 12345;Tabelle dei clienti
ps_customer
Account clienti con email, password hashata, nome, stato newsletter.
SELECT c.id_customer, c.email, c.firstname, c.date_add
FROM ps_customer c
LEFT JOIN ps_orders o ON c.id_customer = o.id_customer
WHERE o.id_order IS NULL AND c.active = 1;Tabelle del carrello
ps_cart e ps_cart_product
Carrelli e i loro prodotti. I carrelli abbandonati rimangono qui.
Tabelle di configurazione
ps_configuration
Archivio chiave-valore per tutte le impostazioni.
SELECT name, value FROM ps_configuration
WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SSL_ENABLED', 'PS_SHOP_ENABLE');Tabelle moduli e hook
ps_module, ps_hook, ps_hook_module
Moduli, hook e le loro associazioni.
Operazioni comuni
-- Aumento prezzi del 10%
UPDATE ps_product SET price = price * 1.10;
-- Disabilitare prodotti esauriti
UPDATE ps_product p
JOIN ps_stock_available sa ON p.id_product = sa.id_product
SET p.active = 0
WHERE sa.quantity <= 0 AND sa.id_product_attribute = 0;Regole di sicurezza del database
- Sempre backup prima di modificare
- Mai modificare ps_shop_url direttamente
- Testare le query con SELECT prima di UPDATE o DELETE
Questa risposta ti è stata utile?
Hai ancora domande?
Can't find what you're looking for? Send us your question and we'll get back to you quickly.