Jump to content

[résolu] P 1.6.1.5 -> ps_product_reductions doesn't exist


Recommended Posts

Bonjour

en passant _PS_DEBUG_PROFILING_ sur true j'ai un beau message

 

[PrestaShopDatabaseException]

Table 'monsite.ps_product_reductions' doesn't exist

 

j'ai regardé sur d'autres presta installé et je ne trouve nul part cette table

 

quelqu'un saurait il  d’où elle sort ??

merci pour votre aide

Cordialement - Natacha

 

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

bonjour et merci

c'est ce que j'ai cru moi aussi

cette table apparait dans le change log et c'est le seul endroit qui y fait référence

 

####################################
#   v1.6.1.2 - (2015-10-29)
####################################
    [-] FO : Fix #PSCSX-6699, Table 'ps_product_reductions' already exists

 

le message complet

explain SELECT SQL_NO_CACHE product_shop.id_product, IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute
					FROM
					`ps_product_reductions` pr,
					`ps_product` p
					 INNER JOIN ps_product_shop product_shop
		ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)
					LEFT JOIN `ps_product_attribute_shop` product_attribute_shop
				   		ON (p.`id_product` = product_attribute_shop.`id_product` AND product_attribute_shop.`default_on` = 1 AND product_attribute_shop.id_shop=1)
					WHERE p.id_product=pr.id_product AND (pr.id_product_attribute = 0 OR product_attribute_shop.id_product_attribute = pr.id_product_attribute) AND product_shop.`active` = 1
						 AND EXISTS(SELECT 1 FROM `ps_category_product` cp
				JOIN `ps_category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` IN (3))
				WHERE cp.`id_product` = p.`id_product`)
					 AND product_shop.`visibility` IN ("both", "catalog")
					ORDER BY RAND() LIMIT 1

 

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

non aucune autre trace pour identifier d’où vient la requête

mais j'ai trouvé

 

Product.php -> getRandomSpecial

Db::getInstance()->execute('CREATE TEMPORARY TABLE `'._DB_PREFIX_.'product_reductions`

reste à comprendre pourquoi ça beug la table ne doit pas être créée

 

je vais vérifier sur une version qui n'a pas de promos et tester avec et sans

 

merci

Natacha

Link to comment
Share on other sites

  • 3 months later...

Bonjour,

 

j'ai le même problème sur 1.6.1.8 - et aucune idée comment résoudre le problème. Selon Bugtracker, c'est pas dans le code core, mais un module additionnel. Or j'en ai quasiment pas, et n'arrive pas à trouver lequel pourrait être coupable.

 

Merci pour toute aide, ca fait des semaines que je désespère sur ce problème!

 

Daniel

Link to comment
Share on other sites

Bonjour,

 

j'ai le même problème sur 1.6.1.8 - et aucune idée comment résoudre le problème. Selon Bugtracker, c'est pas dans le code core, mais un module additionnel. Or j'en ai quasiment pas, et n'arrive pas à trouver lequel pourrait être coupable.

 

Merci pour toute aide, ca fait des semaines que je désespère sur ce problème!

 

Daniel

Vous avez lu les messages plus haut ?

Votre utilisateur sql à les droits en écriture ?

Link to comment
Share on other sites

Vous avez lu les messages plus haut ?

Votre utilisateur sql à les droits en écriture ?

 

Merci d'avoir répondu si vite. Oui, et selon mon hébergeur (A2) tout est en ordre au niveau des privilèges. Y a-t-il d'autres détais que je pourrais éventuellement leur fournir, pour être sû qu'ils ont bien regardé comme il faut? Oui y a-t-il un moyen de confirmer que les privileges sont comme il faut? Un fichier test ou autre moyens?

 

J'ai aussi regardé sur Github, le bout de code qui devait corriger ce bug, il est bien présent dans mon installation.

Link to comment
Share on other sites

Ca me fait uniquement ca quand je passe mon site en template default. Actuellement j'ai Warehouse theme activé, qui bizarrement ne fait pas cette erreur. Ou du moins, debug ne l'affiche pas.

 

J'ai seulement remarqué en fait parce que je suis temporairement repassé en default template à la recherche de la source de lenteur de mon initContent / display, c'est là que j'ai vu.

 

Je vais essayer de basculer le site en dafeult template à nouveau plus tard, et je vais poster l'intégralité du message d'erreur ici. Mon host parcontre est formel, pas de soucis de privileges au niveau de lútilisateur DB.

 

Merci encore pour l'aide, très appréciée.

Link to comment
Share on other sites

  • 3 months later...

Bonjour,
 

avez vous trouvé une solution a ce problème ? car concernant mysql de mon coté je n'ai aucun problème de droit vu que je suis connecté en root sous wamp et j'ai aussi ce message d'erreur.

product_reductions' doesn't exist

explain SELECT SQL_NO_CACHE product_shop.id_product, IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute
					FROM
					`ps_product_reductions` pr,
					`ps_product` p
					 INNER JOIN ps_product_shop product_shop
		ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)
					LEFT JOIN `ps_product_attribute_shop` product_attribute_shop
				   		ON (p.`id_product` = product_attribute_shop.`id_product` AND product_attribute_shop.`default_on` = 1 AND product_attribute_shop.id_shop=1)
					WHERE p.id_product=pr.id_product AND (pr.id_product_attribute = 0 OR product_attribute_shop.id_product_attribute = pr.id_product_attribute) AND product_shop.`active` = 1
						 AND EXISTS(SELECT 1 FROM `ps_category_product` cp
				JOIN `ps_category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` IN (1,2,5))
				WHERE cp.`id_product` = p.`id_product`)
					 AND product_shop.`visibility` IN ("both", "catalog")
					ORDER BY RAND() LIMIT 1

J'ai installé une version propre en parallèle et la table n'est pas présente même lorsque je crée des réductions sur des articles.

 

Seriez vous m'indiquer dans quel fichier je peux trouver les requêtes de création de table lors de l'installation de prestashop ou de mise à jour si nécessaire?

 

En vous remerciant.

 

Cordialement .

Link to comment
Share on other sites

  • 9 months later...

Salut,

Même problème de mon côté Prestashop 1.6.1.17, PHP 7, MySQL 5.7.11.

Après quelques recherche, j'ai plutôt l'impression que c'est le create temporary table qui fonctionne différemment sur phpmyadmin. Les tables sont détruites plus vite que sur un serveur, et donc l'affichage ne se fait pas.

https://stackoverflow.com/questions/14426401/temporary-tables-not-working-in-phpmyadmin

Pour le fichier, il est bien pointé par l'OP sur ce post. Product.php fonction getRandomSpecial.

Pour contrer le problème (à ne faire qu'en local hein...), mettre en commentaire la ligne 2436

Db::getInstance()->execute('DROP TEMPORARY TABLE `'._DB_PREFIX_.'product_reductions`', false);

De cette manière au moins tu peux afficher tes logs et gérer les load time...

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...