Baza danych PrestaShop: Kluczowe tabele, które każdy właściciel sklepu powinien znać
Dlaczego zrozumienie bazy danych ma znaczenie
PrestaShop przechowuje wszystko — produkty, zamówienia, klientów, ustawienia, tłumaczenia, obrazy, ceny — w bazie danych MySQL. Zrozumienie struktury bazy danych daje Ci supermoc do szybszego diagnozowania problemów, wykonywania masowych operacji i odzyskiwania się po błędach.
Tabele produktów
ps_product
Główna tabela produktów z podstawowymi danymi -
| Kolumna | Cel |
|---|---|
| id_product | Unikalny identyfikator produktu |
| price | Cena bazowa (bez podatku) |
| reference | Referencja/SKU produktu |
| active | Włączony (1) lub wyłączony (0) |
ps_product_lang
Dane produktu specyficzne dla języka - nazwa, opis, meta tytuł, URL.
ps_stock_available
Rzeczywista tabela śledzenia stanów magazynowych.
SELECT * FROM ps_stock_available
WHERE id_product = 42 AND id_product_attribute = 0;Tabele zamówień
ps_orders
Najważniejsza tabela handlowa. Każdy wiersz to zamówienie.
ps_order_detail
Poszczególne pozycje w zamówieniu z produktem, ilością i ceną.
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;Tabele klientów
ps_customer
Konta klientów z emailem, zahaszowanym hasłem, imieniem, statusem newslettera.
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;Tabele koszyka
ps_cart i ps_cart_product
Koszyki i ich produkty. Porzucone koszyki pozostają tutaj.
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);Tabele konfiguracji
ps_configuration
Magazyn klucz-wartość dla wszystkich ustawień.
SELECT name, value FROM ps_configuration
WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SSL_ENABLED', 'PS_SHOP_ENABLE');Tabele modułów i hooków
ps_module, ps_hook, ps_hook_module
Moduły, hooki i ich powiązania. ps_hook_module kontroluje kolejność wykonania.
Typowe operacje
-- Podwyżka cen o 10%
UPDATE ps_product SET price = price * 1.10;
-- Wyłączenie produktów niedostępnych
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;Zasady bezpieczeństwa bazy danych
- Zawsze twórz kopię zapasową przed modyfikacjami
- Nigdy nie modyfikuj ps_shop_url bezpośrednio
- Testuj zapytania z SELECT przed uruchomieniem UPDATE lub DELETE
Czy ta odpowiedź była pomocna?
Masz jeszcze pytania?
Can't find what you're looking for? Send us your question and we'll get back to you quickly.