Tablas del módulo ! Importante!

Creada por Nicolás Orellana, Modificado el Wed, 20 Mar 2024 a las 01:15 PM por Nicolás Orellana


Bienvenido al articulo de Base de datos! este articulo tiene como objetivo enseñarte cuales son las interacciones con la base de datos que usa el módulo de centry para prestashop.



Partiremos con el guardado de Configuraciones. 


Al momento de instalar el modulo de prestashop este te lleva inmediatamente a la pantalla de configuracion del modulo

Toda la información de esta pantalla se guarda en la tabla de configuraciones nativa de prestashop. Y estas son consultadas y actualizadas por el modulo usando las funciones dejadas de ejemplo a continuacion.

(Imagen de centry_ps_esclavo/classes/ConfigurationCentry.php)

En esta tabla de configuraciones todos aquellos registros que comiencen con "CENTRY_"  son configuraciones de esta panatalla. 


Ahora a explicar lo entrenido:
 

La tablas que crea el módulo para asegurar la comunicación entre Centry y Prestashop:

 

 

Nombre GenericoTabla_CentryId_foreingTabla_RelaciónPrimary_keySelect * From Tabla_Centry;
Homologación Variantesps_variant_centryid_prestashopps_product_attributeid_product_attributeSelect * From ps_variant_centry;
Homologación Títulos de Color/Tallaps_attribute_group_centryid_prestashopps_attribute_groupid_attribute_groupSelect * From ps_attribute_group_centry;
Homologación de marcasps_brand_centryid_prestashopps_manufacturerid_manufacturerSelect * From ps_brand_centry;
Homologación Categoríasps_category_centryid_prestashopps_categoryid_categorySelect * From ps_category_centry;
Homologación Valores Colorps_color_centryid_prestashopps_attributeid_attributeSelect * From ps_color_centry;
Homologación de Atributosps_feature_centryid_prestashopps_featureid_featureSelect * From ps_feature_centry;
Homologación de Valores de Atributosps_feature_value_centryid_prestashopps_feature_valueid_feature_valueSelect * From ps_feature_value_centry;
Homologación de Valores de Atributos Texto Simpleps_feature_value_centryproduct_idps_productid_productSelect * From ps_feature_value_centry;
Homologación de imagenesps_image_centryid_prestashopps_imageid_imageSelect * From ps_image_centry;
Homologación de pedidosps_order_centryid_prestashopps_ordersid_orderSelect * From ps_order_centry;
Homolgación de Estados de pedidosps_order_status_centryid_prestashopps_order_stateid_order_stateSelect * From ps_order_status_centry;
Homolgación de productosps_product_centryid_prestashopps_productid_productSelect * From ps_product_centry;
Homologación de productos simplres a variantesps_simple_product_variant_centryid_prestashopps_productid_productSelect * From ps_simple_product_variant_centry;
Homologación de Valores de Tallasps_size_centryid_prestashopps_attributeid_attributeSelect * From ps_size_centry;


 Estas Tablas en la base de dato son las tablas relacionales que permiten asegurar la comunicacion y traduccion de objetos centry con los objetos Prestashop.

La definicion de creacion de estas tablas las puedes encontrar en los archivos de clasess/Models/homologation 


Se informa en la tabla anteriormente descrita la consulta que puedes configurar en la seccion Base de datos del panel de prestashop para consultar las relaciones guardadas. El prefijo puede variar de prestashop en prestashop.


Adicionalmente se recomienta prestar atencion al motor con el cual se definieron las tablas, se recomienda InnoDB debido a que este permite la relacion de llaves foraneas ,asi la BD elimina las relaciones de objetos que se eliminen en prestashop. Sin este comportamiento el modulo Podria caer en condiciones Borde, En caso de que por alguna razon el motor definido en las tablas sea otro distinto y no permita la definicion de llaves foranea y eliminacion en cascada se hace refrencia a la siguiente tabla que tienes las definiciones de triggers para asegurar este comportamiento.


 

NombrePrefijops_
En caso de que se encuentre tabla sin motor de relacion limpieza previa a definicion de triggerDefinición de Triggers
Nombre GenericoTabla_CentryId_foreingTabla_RelaciónDELETE FROM `Tabla_Centry` WHERE `Id_foreing` NOT IN (  SELECT `Primary_key`  FROM `Tabla_Relación`);DELIMITER $$
CREATE TRIGGER `delete_Tabla_Centry`
AFTER DELETE ON `Tabla_Relación`
FOR EACH ROW
BEGIN
DELETE FROM `Tabla_Centry`
WHERE `Id_foreing` = OLD.`Primary_key`;
END $$
 DELIMITER ;
Homologación Variantesps_variant_centryid_prestashopps_product_attributeDELETE FROM `ps_variant_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_product_attribute`  FROM `ps_product_attribute`);DELIMITER $$
CREATE TRIGGER `delete_ps_variant_centry`
AFTER DELETE ON `ps_product_attribute`
FOR EACH ROW
BEGIN
DELETE FROM `ps_variant_centry`
WHERE `id_prestashop` = OLD.`id_product_attribute`;
END $$
 DELIMITER ;
Homologación Títulos de Color/Tallaps_attribute_group_centryid_prestashopps_attribute_groupDELETE FROM `ps_attribute_group_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_attribute_group`  FROM `ps_attribute_group`);DELIMITER $$
CREATE TRIGGER `delete_ps_attribute_group_centry`
AFTER DELETE ON `ps_attribute_group`
FOR EACH ROW
BEGIN
DELETE FROM `ps_attribute_group_centry`
WHERE `id_prestashop` = OLD.`id_attribute_group`;
END $$
 DELIMITER ;
Homologación de marcasps_brand_centryid_prestashopps_manufacturerDELETE FROM `ps_brand_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_manufacturer`  FROM `ps_manufacturer`);DELIMITER $$
CREATE TRIGGER `delete_ps_brand_centry`
AFTER DELETE ON `ps_manufacturer`
FOR EACH ROW
BEGIN
DELETE FROM `ps_brand_centry`
WHERE `id_prestashop` = OLD.`id_manufacturer`;
END $$
 DELIMITER ;
Homologación Categoríasps_category_centryid_prestashopps_categoryDELETE FROM `ps_category_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_category`  FROM `ps_category`);DELIMITER $$
CREATE TRIGGER `delete_ps_category_centry`
AFTER DELETE ON `ps_category`
FOR EACH ROW
BEGIN
DELETE FROM `ps_category_centry`
WHERE `id_prestashop` = OLD.`id_category`;
END $$
 DELIMITER ;
Homologación Valores Colorps_color_centryid_prestashopps_attributeDELETE FROM `ps_color_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_attribute`  FROM `ps_attribute`);DELIMITER $$
CREATE TRIGGER `delete_ps_color_centry`
AFTER DELETE ON `ps_attribute`
FOR EACH ROW
BEGIN
DELETE FROM `ps_color_centry`
WHERE `id_prestashop` = OLD.`id_attribute`;
END $$
 DELIMITER ;
Homologación de Atributosps_feature_centryid_prestashopps_featureDELETE FROM `ps_feature_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_feature`  FROM `ps_feature`);DELIMITER $$
CREATE TRIGGER `delete_ps_feature_centry`
AFTER DELETE ON `ps_feature`
FOR EACH ROW
BEGIN
DELETE FROM `ps_feature_centry`
WHERE `id_prestashop` = OLD.`id_feature`;
END $$
 DELIMITER ;
Homologación de Valores de Atributosps_feature_value_centryid_prestashopps_feature_valueDELETE FROM `ps_feature_value_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_feature_value`  FROM `ps_feature_value`);DELIMITER $$
CREATE TRIGGER `delete_ps_feature_value_centry`
AFTER DELETE ON `ps_feature_value`
FOR EACH ROW
BEGIN
DELETE FROM `ps_feature_value_centry`
WHERE `id_prestashop` = OLD.`id_feature_value`;
END $$
 DELIMITER ;
Homologación de Valores de Atributos Texto Simpleps_feature_value_centryproduct_idps_productDELETE FROM `ps_feature_value_centry` WHERE `product_id` NOT IN (  SELECT `id_product`  FROM `ps_product`);DELIMITER $$
CREATE TRIGGER `delete_ps_feature_value_centry`
AFTER DELETE ON `ps_product`
FOR EACH ROW
BEGIN
DELETE FROM `ps_feature_value_centry`
WHERE `product_id` = OLD.`id_product`;
END $$
 DELIMITER ;
Homologación de imagenesps_image_centryid_prestashopps_imageDELETE FROM `ps_image_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_image`  FROM `ps_image`);DELIMITER $$
CREATE TRIGGER `delete_ps_image_centry`
AFTER DELETE ON `ps_image`
FOR EACH ROW
BEGIN
DELETE FROM `ps_image_centry`
WHERE `id_prestashop` = OLD.`id_image`;
END $$
 DELIMITER ;
Homologación de pedidosps_order_centryid_prestashopps_ordersDELETE FROM `ps_order_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_order`  FROM `ps_orders`);DELIMITER $$
CREATE TRIGGER `delete_ps_order_centry`
AFTER DELETE ON `ps_orders`
FOR EACH ROW
BEGIN
DELETE FROM `ps_order_centry`
WHERE `id_prestashop` = OLD.`id_order`;
END $$
 DELIMITER ;
Homolgación de Estados de pedidosps_order_status_centryid_prestashopps_order_stateDELETE FROM `ps_order_status_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_order_state`  FROM `ps_order_state`);DELIMITER $$
CREATE TRIGGER `delete_ps_order_status_centry`
AFTER DELETE ON `ps_order_state`
FOR EACH ROW
BEGIN
DELETE FROM `ps_order_status_centry`
WHERE `id_prestashop` = OLD.`id_order_state`;
END $$
 DELIMITER ;
Homolgación de productosps_product_centryid_prestashopps_productDELETE FROM `ps_product_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_product`  FROM `ps_product`);DELIMITER $$
CREATE TRIGGER `delete_ps_product_centry`
AFTER DELETE ON `ps_product`
FOR EACH ROW
BEGIN
DELETE FROM `ps_product_centry`
WHERE `id_prestashop` = OLD.`id_product`;
END $$
 DELIMITER ;
Homologación de productos simplres a variantesps_simple_product_variant_centryid_prestashopps_productDELETE FROM `ps_simple_product_variant_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_product`  FROM `ps_product`);DELIMITER $$
CREATE TRIGGER `delete_ps_simple_product_variant_centry`
AFTER DELETE ON `ps_product`
FOR EACH ROW
BEGIN
DELETE FROM `ps_simple_product_variant_centry`
WHERE `id_prestashop` = OLD.`id_product`;
END $$
 DELIMITER ;
Homologación de Valores de Tallasps_size_centryid_prestashopps_attributeDELETE FROM `ps_size_centry` WHERE `id_prestashop` NOT IN (  SELECT `id_attribute`  FROM `ps_attribute`);DELIMITER $$
CREATE TRIGGER `delete_ps_size_centry`
AFTER DELETE ON `ps_attribute`
FOR EACH ROW
BEGIN
DELETE FROM `ps_size_centry`
WHERE `id_prestashop` = OLD.`id_attribute`;
END $$
 DELIMITER ;




Adicionalmente a estas Tablas, Se definen tablas de apoyo para cola de consumo,  webhooks creados en centry y tablas de apoyo para registro de errores y log de tareas.



Consulta para revision de tareas en Cola
select * from ps_centry_pending_task

Conculta para revision de Logs :

select * from ps_centry_pending_task_log







¿Le fue útil este artículo?

¡Qué bueno!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Díganos cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
La verificación de CAPTCHA es obligatoria.

Comentarios enviados

Agradecemos su iniciativa, e intentaremos corregir el artículo