php magento magento-1.9

php - Simplemente actualice mi sitio a 1.9.3.0 y se obtuvo el error SQLSTATE[42S22]: No se encontrĂ³ la columna: 1054 Columna desconocida ''catalog_product_entity_group_price.is_percent''



magento magento-1.9 (6)

Asegúrese de que la tabla existe.

Compruebe esta tabla (sales_bestsellers_aggregated_yearly) wheater ''product_type_id'' columnas está en ella. Si la columna ''product_type_id'' está en la tabla, vuelva a indexar y actualizar la memoria caché. Si la columna ''product_type_id'' no está en esa tabla, entonces necesita crear la estructura como la imagen adjunta.

Antes de usar Magento 1.9.2.4 y hoy recibí un mensaje que necesitaba actualizar mi magento con la última actualización, algunas actualizaciones críticas también.

Después de actualizar mi sitio web desde la sección de descargas, todo salió bien, no hubo ningún error, etc. Pasaron dos cosas que noté que después de actualizar mi permiso index.php se cambió al sitio web 666 que se está abriendo correctamente. Página de error con la siguiente información.

Ha habido un error al procesar su solicitud

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

No sé cómo retroceder porque no obtuve una copia de seguridad porque dicen que es estable, o no puedo resolver este error.

Gracias por adelantado


El problema se debe a la falta de una columna llamada: is_percent en la tabla catalog_product_entity_group_price

Magento 1.9.3 incluye un archivo de actualización que crea esa columna en la base de datos. El archivo se encuentra aquí: app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.19.1.4-1.6.0.0.19.1.5.php

Cuando el caché está habilitado, el instalador no puede ejecutar el script de actualización, lo que provoca el error reportado por el OP. Otra causa posible de un script de actualización fallido es si actualiza el frontend o el backend antes de que todos los archivos se hayan cargado a través de FTP.

Si limpiar el caché no resuelve el problema (asegúrese de actualizar cualquier caché externo como Redis), puede intentar lo siguiente:

1) Abra la tabla core_resource

2) Localice la fila catalog_setup

3) Si el valor actual para la version y data_versions es: 1.6.0.0.19.1.5 luego cambie ambos valores a 1.6.0.0.19.1.2 y actualice cualquier página de la interfaz.

Esto obligará a Magento a volver a ejecutar el script de actualización y crear la columna que falta en la base de datos.

Si el valor para la versión y data_version es 1.6.0.0.19.1.2 entonces no está vaciando correctamente el caché.


Eliminar el contenido de var/cache/

Para el futuro, recuerde desactivar el compilador, todos los índices y todos los cachés antes de realizar una actualización.

Lo que sucedió es que el caché de configuración todavía está activo, y evita que Magento detecte que los cambios en la base de datos son necesarios.


Elimine todos los archivos / carpetas de la ruta de la carpeta "var / cache /"

Y asegúrese de desactivar el almacenamiento en caché antes de iniciar la actualización.


Hoy también he enfrentado el mismo problema y lo he resuelto siguiendo estos pasos:

  1. Ejecutar la siguiente consulta en la base de datos

    ALTER TABLE sales_bestsellers_aggregated_yearly ADD product_type_id TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER product_id ;

    ALTER TABLE catalog_product_entity_group_price AGREGAR is_percent SMALLINT (5) NO ESTADO SIN NULL POR DEFECTO ''0'' COMENTARIO ''Es porcentaje'';

  2. Eliminar el contenido de var / cache /


Para mí, el problema era el caché de Redis. Si no está seguro de tener Redis habilitado, revise su aplicación / etc / local.xml.

Para vaciar el caché de Redis:

redis-cli flushall

Eso funcionó para mí.