Jump to content
William K.

Accueil cassé après upgrade.

Recommended Posts

Bonjour,


 


Souhaitant passer mon site 1.4 en 1.6, j'ai utilisé le module 1-click update sur une copie local. Cela me donne une version 1.6 qui possède toutes les données (clients / factures / produits ...) par le CMS et l'accès à toutes les pages de produits ou de catégories.


 


L'unique page qui ne s'affiche pas correctement est l'accueil. (comme le montre la pièce jointe.)


 


Malgré qu'il n'y ai aucun message d'erreur, le problème me semble venir de la base de donné et plus précisément de ps_configuration.


 


Quelqu'un à une idée de comment régler cela ?


post-1418260-0-21205600-1500625869_thumb.png

Share this post


Link to post
Share on other sites

Bonjour,

 

Il n'y a rien d'autre sur la page d’accueil ?

Qu'aviez vous comme thème sur la 1.4 ?

Si c'est l'unique page qui pose problème je ne pense pas à un problème de BBD mais plutôt de thème.

Avez vous activé le debug ? Si non, activez le et mettez en copie les éventuelles erreurs.

 

Bonne journée

Share this post


Link to post
Share on other sites

Bonjour,

 

-Il n'y a rien d'autre sur la page d'accueil.

-Le théme 1.4 était le théme "prestashop" basic, bien qu'il me semble que des modifications y ai été apporté à la création du site avant que j'en prenne la charge.

-L'activation du Debug (que j'étais persuadé d'avoir effectué précédemment ..)  ne me sort aucune erreur sur la page d'accueil mais me sort à présent des erreurs sur les pages produits (que j’accède via le bouton "visualisation" dans les pages produit du cms). Voici les erreurs de la page en question : 

 

 
[PrestaShopDatabaseException]

La table 'nomdelabase.ps_layered_indexable_attribute_lang_value' n'existe pas
 

            SELECT DISTINCT la.`id_attribute`, la.`url_name` as `attribute`
            FROM `ps_attribute` a
            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)
            LEFT JOIN `ps_layered_indexable_attribute_lang_value` la
                ON (la.`id_attribute` = a.`id_attribute` AND la.`id_lang` = 2)
            WHERE la.`url_name` IS NOT NULL AND la.`url_name` != ''
            AND pa.`id_product` = 8

at line 791 in file classes/db/Db.php

 

786. if ($webservice_call && $errno) {
787. $dbg = debug_backtrace();
788. WebserviceRequest::getInstance()->setError(500, '
 '.$this->getMsgError().'. From '.(isset($dbg[3]['class']) ? $dbg[3]['class'] : '').'->'.$dbg[3]['function'].'() Query was : '.$sql, 97);
789. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) {
790. if ($sql) {
791. throw new PrestaShopDatabaseException($this->getMsgError().'<br /><br /><pre>'.$sql.'</pre>');
792. }
793.
794. throw new PrestaShopDatabaseException($this->getMsgError());
795. }
796. }

 

Share this post


Link to post
Share on other sites

Le changement de thème me fait en effet sortir une erreur :

 

Duplicata du champ '10-0-1' pour la clef 'PRIMARY'

INSERT INTO `ps_hook_module` (`id_module`, `id_shop`, `id_hook`, `position`)
                                    VALUES (10, 1, 0, 1)

 

 

post-1418260-0-87670200-1500635387_thumb.png

Share this post


Link to post
Share on other sites

Il dit qu'il y a un doublon pour un module.

Il n'y a que cette erreur sur la page d’accueil ?

Connectez vous à votre BDD et faites une copie.

 

Allez sur la table ps-module et regardez à quoi correspond le module avec id_module : 10

Allez sur la table ps_hook_module et regardez si il y a bien deux lignes identiques avec  : id_module : 10

Si oui supprimez en une.

 

Cela devrait régler l'erreur mais je ne pense pas que ça règle le problème de base.

 

Bonne journée

Share this post


Link to post
Share on other sites

En fait ce n'est tout simplement pas normal d'avoir un id_hook à 0 dans ta requête SQL.

Je pense que ton thème utilise un hook qui n'existe pas dans Prestashop et comme il n'arrive pas à trouver un ID correspondant, il te sort un ID = 0.

A voir si ce patch aide à l'installation du thème : https://github.com/PrestaShop/PrestaShop/commit/2482eabb6a25a509a39d55e3b6b286e84ace8151

 

Pour ta première erreur, il manque des tables dans ta base pour le module blocklayered. A mon avis ton upgrade depuis la 1.4 n'a pas terminé de migrer des données ou les modules n'ont pas fait correctement leur mise à jour.

 

Il semble que tu te retrouves désormais avec une base de données avec des incohérences... Il va falloir nettoyer !

Le plus simple c'est peut être de repartir de zero en local, récupère à nouveau ton site en local puis refait un upgrade, une fois fait, va visiter la page Modules dans l'administration pour être sûr qu'ils fassent tous leur mise à jour niveau base de données. Ensuite retente avec ton thème, si c'est celui que tu utilisais avec la 1.4 y a de forte chance qu'il soit plus compatible.

 

Courage

Share this post


Link to post
Share on other sites

En fait ce n'est tout simplement pas normal d'avoir un id_hook à 0 dans ta requête SQL.

Je pense que ton thème utilise un hook qui n'existe pas dans Prestashop et comme il n'arrive pas à trouver un ID correspondant, il te sort un ID = 0.

A voir si ce patch aide à l'installation du thème : https://github.com/PrestaShop/PrestaShop/commit/2482eabb6a25a509a39d55e3b6b286e84ace8151

 

Pour ta première erreur, il manque des tables dans ta base pour le module blocklayered. A mon avis ton upgrade depuis la 1.4 n'a pas terminé de migrer des données ou les modules n'ont pas fait correctement leur mise à jour.

 

Il semble que tu te retrouves désormais avec une base de données avec des incohérences... Il va falloir nettoyer !

Le plus simple c'est peut être de repartir de zero en local, récupère à nouveau ton site en local puis refait un upgrade, une fois fait, va visiter la page Modules dans l'administration pour être sûr qu'ils fassent tous leur mise à jour niveau base de données. Ensuite retente avec ton thème, si c'est celui que tu utilisais avec la 1.4 y a de forte chance qu'il soit plus compatible.

 

Courage

Juste un salut tu es de retour le vieux ^^ J'ai le meme soucis avec un nouveau theme..obligé d'ajouter le hook sur le Header ? Ce patch possible sur la 1.6.1.15 ?

Edited by Soyons zen (see edit history)

Share this post


Link to post
Share on other sites

ps_hook_module semblait complètement corrompu et bardé de donnés incohérentes. Après sauvegarde, j'ai donc supprimé toutes les tables correspondantes aux modules, parti du site  que je ne veux de toute pas importé mais complètement retravailler avec des modules 1.6, puis importé les même tables depuis une version vierge de 1.6 installée précédemment. Bien que certainement très limite d'un point de vue du "best practice" cela semble avoir bien fonctionné et ne me crée aucune erreurs.

 

Par la suite, au moment de changer de thème l'erreur "'ps_badges' n'existe pas" est apparut,  je l'ai donc aussi importé de la 1.6 puis de même pour ps_condition.

 

Et me voilà revenus à mon point de départ mais sur un nouveau thème, aucune erreur sur aucune page, le reste des pages accessibles mais l'accueil vide.

 

 

post-1418260-0-20818000-1500641995_thumb.png

Share this post


Link to post
Share on other sites

Juste un salut tu es de retour le vieux ^^ J'ai le meme soucis avec un nouveau theme..obligé d'ajouter le hook sur le Header ? Ce patch possible sur la 1.6.1.15 ?

Oui je passe souvent mais je consulte uniquement en fait ^^

Oui ce patch devrait être intégrer dans la prochaine version de Prestashop donc tu peux l'appliquer sur ta 1.6.1.15 le temps de faire ton install de thème pour voir si ça aide dans ta situation ;)

 

ps_hook_module semblait complètement corrompu et bardé de donnés incohérentes. Après sauvegarde, j'ai donc supprimé toutes les tables correspondantes aux modules, parti du site  que je ne veux de toute pas importé mais complètement retravailler avec des modules 1.6, puis importé les même tables depuis une version vierge de 1.6 installée précédemment. Bien que certainement très limite d'un point de vue du "best practice" cela semble avoir bien fonctionné et ne me crée aucune erreurs.

 

Par la suite, au moment de changer de thème l'erreur "'ps_badges' n'existe pas" est apparut,  je l'ai donc aussi importé de la 1.6 puis de même pour ps_condition.

 

Et me voilà revenus à mon point de départ mais sur un nouveau thème, aucune erreur sur aucune page, le reste des pages accessibles mais l'accueil vide.

Si tu veux mon avis, y a pas que les tables correspondant aux modules qui sont incohérentes, déjà s'il te manque la table ps_badges et ps_condition c'est que ton upgrade a pas fait correctement la migration des données. Vérifie que ta config ne fait pas de timeout pendant l'upgrade, peut être que le processus ne va pas à son terme.

Comme je te l'ai dit, repars de zéro en local, récupère à nouveau la 1.4 de ton site et refait un upgrade, augmente peut être la mémoire, le timeout etc sur ta config locale.

  • Like 1

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More