Restablecer un atributo de producto borrado en Magento e-commerce

Magento cuenta con un sistema de atributos personalizable para cualquiera de las entidades del sistema. Estas entidades del sistema son las categorías, los clientes, los productos, etc.

Dentro de la administración, Magento nos permite añadir atributos para nuestros productos. Si queremos hacerlo para las demás entidades podemos intalra algún módulo para ello, seguro que encontramos varios en Magento Connect. La configuración de estos atributos y su valores se guardan en diferentes tablas de la base de datos, e igualmente que este herramienta nos da un gran poder en caso de eliminar por error un atributo podemos causar un gran desastre.

Al eliminar un atributo en Magento, se borrarán todos los datos asociados a ese atributo, y además, los valores de cada producto para ese atributo. Si queremos restaurar este información debemos saber en que tablas buscar.

La tablas implicadas son:

eav_attribute
eav_attribute_label
eav_attribute_option
eav_attribute_option_value
catalog_eav_attribute
eav_entity_attribute

catalog_product_entity_datetime
catalog_product_entity_int
catalog_product_entity_varchar
catalog_product_entity_...

Para restaurar nuestro atributo, deberemos rener una copia de la base de datos, la cargaremos en una base de datos de prueba, y consultaremos en ellas donde aparece nuestro atributo.

Para obtener que atributo hemos borrado, podemos comparar las tablas “eav_attribute” de las dos bases de datos, y el registro de la copia de seguridad de Magento que nu esté en la base de datos actual es nuestro objetivo.

Una vez identificado el “attribute_id” del atributo borrado, compareremos cadada una de las tablas filtrando por el atributo “attribute_id”, exportaremos estos resultados y los meteremos en la base de datos actual de Magento.

Por ejemplo, si nuestro atributo borrado fuera el “118”, para la primera tabla ejecutaríamos la siguiente consulta.

select * from eav_attribute where attribute_id = 118

Las tablas “catalog_product_entity_datetime”, “catalog_product_entity_int” y similares tienen los valores para cada producto, puede que al volcarlas den fallos debido a que hay productos que ya se han borrado. Además, para un atributo, sólo una de estas tabla tiene valores asociados a él, dependiendo del tipo de datos que sea, por ejemplo, si se trata de un atributo de tipo entero, solo la tabla “catalog_product_entity_int” tendrá valores.

Una vez terminado, deberemos actualizar los indices desde el panel de administración de Magento.

Actualizar indices magento

Comparte con tu amigosShare on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn