Avant d’utiliser Magento 1.9.2.4, j’ai reçu aujourd’hui un message indiquant que je devais mettre à niveau mon magento avec les dernières mises à jour critiques.
Après la mise à niveau de mon site Web à partir de la section téléchargeur, tout s'est bien passé, aucune erreur, etc, deux choses se passent que je remarque après la mise à jour que ma permission index.php a été modifiée en 666 Le site Web s'ouvre correctement page d'erreur avec les informations suivantes.
Une erreur s'est produite lors du traitement de votre demande.
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'catalog_product_entity_group_price.is_percent' in 'field list', query was: SELECT `catalog_product_entity_group_price`.`value_id` AS `price_id`, `catalog_product_entity_group_price`.`website_id`, `catalog_product_entity_group_price`.`all_groups`, `catalog_product_entity_group_price`.`customer_group_id` AS `cust_group`, `catalog_product_entity_group_price`.`value` AS `price`, `catalog_product_entity_group_price`.`is_percent` FROM `catalog_product_entity_group_price` WHERE (entity_id='84') AND (website_id = 0)
Trace:
#0 /home/MyWebsite/public_html/app/Mage.php(463): Mage_Core_Model_Config->getModelInstance('eav/entity_attr...', 'SQLSTATE[42S22]...')
#1 /home/MyWebsite/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(661): Mage::getModel('eav/entity_attr...', 'SQLSTATE[42S22]...')
#2 /home/MyWebsite/public_html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1641): Mage_Eav_Model_Entity_Abstract->walkAttributes('backend/afterLo...', Arr
Je ne sais pas comment revenir en arrière parce que je n’ai pas obtenu de sauvegarde car ils disent qu’elle est stable ou incapable de résoudre cette erreur.
Merci d'avance
Supprimer le contenu de var/cache/
Pour l'avenir, pensez à désactiver le compilateur, tous les index et tous les caches avant d'effectuer une mise à jour.
En réalité, le cache de configuration est toujours actif et empêche Magento de détecter que des modifications de la base de données sont nécessaires.
Le problème est dû à une colonne manquante nommée: is_percent
dans la table catalog_product_entity_group_price
Magento 1.9.3 inclut un fichier de mise à niveau qui crée cette colonne dans la base de données. Le fichier se trouve ici: app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.4-1.6.0.0.19.1.5.php
Lorsque le cache est activé, le programme d’installation ne peut pas exécuter le script de mise à niveau, ce qui provoque l’erreur signalée par l’opérateur. Une autre cause possible d'un script de mise à niveau ayant échoué est si vous actualisez le frontend ou le backend avant que tous les fichiers aient été téléchargés via FTP.
Si vider le cache ne résout pas le problème (veillez à actualiser tout cache externe comme Redis), vous pouvez essayer les solutions suivantes:
1) Ouvrez la table core_resource
2) Localisez la ligne catalog_setup
3) Si la valeur actuelle de version
et data_versions
est: 1.6.0.0.19.1.5
, remplacez les deux valeurs par 1.6.0.0.19.1.2
et actualisez une page de l'interface.
Cela forcera Magento à réexécuter le script de mise à niveau et à créer la colonne manquante dans la base de données.
Si la valeur pour version et version_données est 1.6.0.0.19.1.2
, vous ne videz pas correctement le cache.
Supprimer tous les fichiers/dossiers du chemin des dossiers "var/cache /"
Et assurez-vous que vous avez désactivé la mise en cache avant de démarrer la mise à niveau.
Pour moi, le problème était le cache Redis. Si vous ne savez pas si Redis est activé, vérifiez votre fichier app/etc/local.xml.
Pour vider le cache Redis:
redis-cli flushall
Cela a fonctionné pour moi.
Assurez-vous que la table existe.
Cochez cette table (sales_bestsellers_aggregated_yearly) lorsque la colonne 'product_type_id' y figure. Si la colonne 'product_type_id' est dans la table, réindexez et actualisez le cache. Si la colonne 'product_type_id' n'est pas dans cette table, vous devez créer la structure comme l'image attachée.