Base de données PrestaShop : Les tables clés que tout propriétaire de boutique devrait connaître

386 vues

Pourquoi comprendre la base de données est important

PrestaShop stocke tout — produits, commandes, clients, paramètres, traductions, images, prix — dans une base de données MySQL. Comprendre la structure de la base de données vous donne des super-pouvoirs pour diagnostiquer les problèmes, effectuer des opérations en masse et récupérer des erreurs.

Tables des produits

ps_product

La table principale des produits avec les données fondamentales -

ColonneRôle
id_productIdentifiant unique du produit
pricePrix de base (HT)
referenceRéférence/SKU du produit
activeActivé (1) ou désactivé (0)

ps_product_lang

Données produit spécifiques à chaque langue - nom, description, méta titre, URL.

ps_stock_available

La table de suivi des stocks réelle.

SELECT * FROM ps_stock_available 
WHERE id_product = 42 AND id_product_attribute = 0;

Tables des commandes

ps_orders

La table commerciale la plus importante. Chaque ligne est une commande complétée.

ps_order_detail

Les lignes individuelles d'une commande avec produit, quantité et prix.

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;

Tables des clients

ps_customer

Comptes clients avec email, mot de passe hashé, nom, statut 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;

ps_address

Adresses clients liées via id_customer.

Tables du panier

ps_cart et ps_cart_product

Paniers et leurs produits. Les paniers abandonnés restent ici.

SELECT c.id_cart, cu.email, c.date_add
FROM ps_cart c
JOIN ps_customer cu ON c.id_customer = cu.id_customer
LEFT JOIN ps_orders o ON c.id_cart = o.id_cart
WHERE o.id_order IS NULL
AND c.date_add > DATE_SUB(NOW(), INTERVAL 7 DAY);

Tables de configuration

ps_configuration

Stockage clé-valeur pour tous les paramètres.

SELECT name, value FROM ps_configuration 
WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SSL_ENABLED', 'PS_SHOP_ENABLE');

Tables des modules et hooks

ps_module, ps_hook, ps_hook_module

Modules, hooks et leurs associations. ps_hook_module contrôle l'ordre d'exécution.

Opérations courantes

-- Augmentation de prix de 10%
UPDATE ps_product SET price = price * 1.10;

-- Désactiver les produits en rupture
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;

Règles de sécurité de la base de données

  • Toujours sauvegarder avant de modifier
  • Ne jamais modifier ps_shop_url directement
  • Tester les requêtes avec SELECT avant UPDATE ou DELETE

Cette réponse vous a-t-elle été utile ?

Vous avez encore des questions ?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Loading...
Back to top