Base de datos PrestaShop: Tablas clave que todo propietario de tienda debe conocer

385 vistas

Por qué entender la base de datos importa

PrestaShop almacena todo — productos, pedidos, clientes, configuraciones, traducciones, imágenes, precios — en una base de datos MySQL. Entender la estructura de la base de datos te da superpoderes para diagnosticar problemas, realizar operaciones masivas y recuperarte de errores.

Tablas de productos

ps_product

La tabla principal de productos con datos fundamentales -

ColumnaPropósito
id_productIdentificador único del producto
pricePrecio base (sin impuestos)
referenceReferencia/SKU del producto
activeHabilitado (1) o deshabilitado (0)

ps_product_lang

Datos del producto específicos por idioma - nombre, descripción, meta título, URL.

ps_stock_available

La tabla real de seguimiento de inventario.

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

Tablas de pedidos

ps_orders

La tabla comercial más importante. Cada fila es un pedido completado.

ps_order_detail

Las líneas individuales dentro de un pedido con producto, cantidad y precio.

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;

Tablas de clientes

ps_customer

Cuentas de clientes con email, contraseña hasheada, nombre, estado de 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;

Tablas del carrito

ps_cart y ps_cart_product

Carritos y sus productos. Los carritos abandonados permanecen aquí.

Tablas de configuración

ps_configuration

Almacén clave-valor para todas las configuraciones.

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

Tablas de módulos y hooks

ps_module, ps_hook, ps_hook_module

Módulos, hooks y sus asociaciones.

Operaciones comunes

-- Aumento de precios del 10%
UPDATE ps_product SET price = price * 1.10;

-- Desactivar productos agotados
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;

Reglas de seguridad de la base de datos

  • Siempre respaldar antes de modificar
  • Nunca modificar ps_shop_url directamente
  • Probar consultas con SELECT antes de UPDATE o DELETE

¿Le resultó útil esta respuesta?

¿Aún tiene preguntas?

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

Cargando...
Volver arriba