Jump to content

[PrestaShopDatabaseException]


Alevg91

Recommended Posts

Buenos días, tras realizar la migración de productos, pedidos, facturas, clientes, entre otros datos de prestashop, mediante mysql.

He podido comprobar lo siguiente: Que no me permite añadir los productos al carrito, me aparece que no hay productos y 0€.

También, al acceder a "Catálogo", este no me deja añadir nuevos productos ni duplicar.

Entonces, al activar el desbug, me aparece el siguiente error:

 

Unknown column 'p.mpn' in 'field list'<br /><br /><pre>SELECT cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, cp.`id_customization`, pl.`name`, p.`is_virtual`, pl.`description_short`, pl.`available_now`, pl.`available_later`, product_shop.`id_category_default`, p.`id_supplier`, p.`id_manufacturer`, m.`name` AS manufacturer_name, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`, product_shop.`available_for_order`, product_shop.`show_price`, product_shop.`price`, product_shop.`active`, product_shop.`unity`, product_shop.`unit_price_ratio`, stock.`quantity` AS quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, p.`weight`, p.`available_date`, p.`date_add`, p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category, CONCAT(LPAD(cp.`id_product`, 10, 0), LPAD(IFNULL(cp.`id_product_attribute`, 0), 10, 0), IFNULL(cp.`id_address_delivery`, 0), IFNULL(cp.`id_customization`, 0)) AS unique_id, cp.id_address_delivery, product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference, cu.`id_customization`, cu.`quantity` AS customization_quantity, product_attribute_shop.`price` AS price_attribute, product_attribute_shop.`ecotax` AS ecotax_attr, IF (IFNULL(pa.`reference`, '') = '', p.`reference`, pa.`reference`) AS reference, (p.`weight`+ pa.`weight`) weight_attribute, IF (IFNULL(pa.`ean13`, '') = '', p.`ean13`, pa.`ean13`) AS ean13, IF (IFNULL(pa.`isbn`, '') = '', p.`isbn`, pa.`isbn`) AS isbn, IF (IFNULL(pa.`upc`, '') = '', p.`upc`, pa.`upc`) AS upc, IF (IFNULL(pa.`mpn`, '') = '', p.`mpn`, pa.`mpn`) AS mpn, IFNULL(product_attribute_shop.`minimal_quantity`, product_shop.`minimal_quantity`) as minimal_quantity, IF(product_attribute_shop.wholesale_price > 0, product_attribute_shop.wholesale_price, product_shop.`wholesale_price`) wholesale_price , image_shop.`id_image` id_image, il.`legend` FROM `ps_cart_product` cp LEFT JOIN `ps_product` `p` ON p.`id_product` = cp.`id_product` INNER JOIN `ps_product_shop` `product_shop` ON (product_shop.`id_shop` = cp.`id_shop` AND product_shop.`id_product` = p.`id_product`) LEFT JOIN `ps_product_lang` `pl` ON p.`id_product` = pl.`id_product` AND pl.`id_lang` = 1 AND pl.id_shop = cp.id_shop LEFT JOIN `ps_category_lang` `cl` ON product_shop.`id_category_default` = cl.`id_category` AND cl.`id_lang` = 1 AND cl.id_shop = cp.id_shop LEFT JOIN `ps_product_supplier` `ps` ON ps.`id_product` = cp.`id_product` AND ps.`id_product_attribute` = cp.`id_product_attribute` AND ps.`id_supplier` = p.`id_supplier` LEFT JOIN `ps_manufacturer` `m` ON m.`id_manufacturer` = p.`id_manufacturer` LEFT JOIN ps_stock_available stock ON (stock.id_product = `cp`.id_product AND stock.id_product_attribute = IFNULL(`cp`.id_product_attribute, 0) AND stock.id_shop = 1 AND stock.id_shop_group = 0 ) LEFT JOIN `ps_customization` `cu` ON p.`id_product` = cu.`id_product` AND cp.`id_product_attribute` = cu.`id_product_attribute` AND cp.`id_customization` = cu.`id_customization` AND cu.`id_cart` = 1318298 LEFT JOIN `ps_product_attribute` `pa` ON pa.`id_product_attribute` = cp.`id_product_attribute` LEFT JOIN `ps_product_attribute_shop` `product_attribute_shop` ON (product_attribute_shop.`id_shop` = cp.`id_shop` AND product_attribute_shop.`id_product_attribute` = pa.`id_product_attribute`) LEFT JOIN `ps_image_shop` `image_shop` ON image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop=1 LEFT JOIN `ps_image_lang` `il` ON il.`id_image` = image_shop.`id_image` AND il.`id_lang` = 1 WHERE (cp.`id_cart` = 1318298) AND (p.`id_product` IS NOT NULL) GROUP BY cp.`id_product_attribute`, cp.`id_product`, cp.`id_shop`, cp.`id_customization` ORDER BY cp.`date_add`, cp.`id_product`, cp.`id_product_attribute` ASC </pre>
at line 769 in file classes/db/Db.php

Entiendo, que este error es de la base de datos, que de la versión, 1.7.5.2 a 1.7.7.3, habrá alguna modificación o algo en la base de datos, que me dá estos errores.

 

Si elimino dicha columna de la base de datos, en este caso mpn, que por lo visto viene por defecto en prestashop, 1.7.7.3, y de la version 1.7.5.2 en la importación, la columna no venía.

me aparece el siguiiente error:

Columna desconocida 'pa.mpn' en 'lista de campos' <br /> <br /> <pre> SELECT DISTINCT a`id_attribute`, a`id_attribute_group`, al`name` como `atributo`, agl` name` as `group`, pa`reference`, pa`ean13`, pa`isbn`, pa`upc`, pa`mpn` FROM` ps_attribute` a LEFT JOIN `ps_attribute_lang` al ON (a .`id_attribute` = al`id_attribute` AND al`id_lang` = 1) LEFT JOIN `ps_attribute_group_lang` agl ON (a`id_attribute_group` = agl`id_attribute_group` AND agl`id_lang` = 1) LEFT JOIN` ps_product_attribute_combination` pac ON (a`id_attribute` = pac.`id_attribute`) LEFT JOIN `ps_product_attribute` pa ON (pac.`id_product_attribute` = pa.`id_product_attribute`) INNER JOIN ps_product_attribute_shop product_attribute_shop ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 1) INNER JOIN ps_attribute ON_shop_tribute_shop. = 7714 </pre>
en la línea 769 en el archivo classes / db / Db.php

 

Edited by Alevg91 (see edit history)
Link to comment
Share on other sites

Ya he solucionado el problema.

El error es el siguiente:

En la versión anteriormente mencionada, no exigía la tabla: mpn, el cual, se encuentra en ps_product_atribute y en ps_product, los cuales aparecen en la nueva versión, por lo que las migraciones de productos mediante mysql, requeriran en la nueva base de datos esta columna.

 

Link to comment
Share on other sites

  • 4 months later...

Hola Alevg91, me encuentro con el mismo error al tratar de indexar los productos de mi tienda me aparece este error ¿cómo conseguiste solucionarlo?
En mi caso uso la version 1.7.2.4. , todo funcionaba bien hasta que hace unos días realicé una importacion de unos 150 productos por csv y al intentar indexar los nuevos productos se borraron todos los índices dejando los productos indexados en 0/1780 , al pinchar en reconstruir indice completo o añadir los productos que faltan me sale que se ha hecho todo correctamente, pero ni se incrementan los productos indexados ni funciona el buscador y en el modo de depuración me aparece este error:

 

Fatal error: Uncaught Unknown column 'p.mpn' in 'field list'<br /><br /><pre>SELECT p.id_product, pl.id_lang, pl.id_shop, l.iso_code, pl.name pname, p.reference, p.supplier_reference, p.ean13, p.upc, p.mpn, pl.description_short, pl.description, cl.name cname FROM ps_product p LEFT JOIN ps_product_lang pl ON p.id_product = pl.id_product INNER JOIN ps_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) LEFT JOIN ps_category_lang cl ON (cl.id_category = product_shop.id_category_default AND pl.id_lang = cl.id_lang AND cl.id_shop = product_shop.id_shop) LEFT JOIN ps_manufacturer m ON m.id_manufacturer = p.id_manufacturer LEFT JOIN ps_lang l ON l.id_lang = pl.id_lang WHERE product_shop.indexed = 0 AND product_shop.visibility IN ("both", "search") AND p.id_product IN (9,10,12,13,14,15,17,18,19,20,22,24,25,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65) AND product_ in /home2/librosro/public_html/prestashop17/classes/db/Db.php on line 744

 

Te agradecería mucho tu ayuda

 

Edito: Acabo de solucionarlo incluyendo una columna mpn en la tabla ps_products , me acaba de indexar todos los productos y ya funciona la busqueda

Edited by Patricia (see edit history)
Link to comment
Share on other sites

Perdón que os pregunte de nuevo, pero me surge una duda después de haber hecho la modificación de ayer que comenté en mi anterior mensaje ...

He creado una columna (campo) llamada mpn en la tabla ps_products ya que al indexar la solicitaba y daba error de database, ahora indexa todos los productos para el buscador sin problemas.

Hasta aquí todo bien, pero no sé si me dará problemas en un futuro, ya que no tenía mucha información sobre este nuevo campo, a qué se refiere o qué datos debería contener (texto o numérico, tamaño etc.) y quizás una configuración no correcta de este campo en la base de datos me pudiera dar errores más adelante ¿me podeis confirmar la info para poder cotejar correctamente su estructura?

Muchas gracias a todos :)

 

Link to comment
Share on other sites

  • 4 weeks later...
On 9/16/2021 at 4:25 PM, Patricia said:

Perdón que os pregunte de nuevo, pero me surge una duda después de haber hecho la modificación de ayer que comenté en mi anterior mensaje ...

He creado una columna (campo) llamada mpn en la tabla ps_products ya que al indexar la solicitaba y daba error de database, ahora indexa todos los productos para el buscador sin problemas.

Hasta aquí todo bien, pero no sé si me dará problemas en un futuro, ya que no tenía mucha información sobre este nuevo campo, a qué se refiere o qué datos debería contener (texto o numérico, tamaño etc.) y quizás una configuración no correcta de este campo en la base de datos me pudiera dar errores más adelante ¿me podeis confirmar la info para poder cotejar correctamente su estructura?

Muchas gracias a todos :)

 

Buenas tardes Patricia, 

Disculpa la demora, es un campo nuevo, el cual puedes ver desde el mismo panel -> Ficha de producto.

Se encuentra en las opciones del producto, La estructura en la base de datos es la siguiente:

mpn varchar(40) utf8mb4_general_ci Sí NULL

Edited by Alevg91 (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...