Borrado de atributos por error

Estado
Cerrado para nuevas respuestas

J.reguero

Nuevo usuario
Hola, se ha borrado un atributo completo en Magento (un lío considerable) y os quería preguntar si es posible recuperarlo. He visto que si tienes una copia de la base de datos buscando en las tablas adecuadas se podría recuperar, pero no sé si la hay. ¿Podéis ayudarme? Muchas gracias de antemano.
 

mauricio

Nuevo usuario
Hola J.reguero.

Seguro. carga el backup en aguna base de datos vacia. y ejecuta lo siguiente: (suponiendo que es solo un atributo de texto simple)

suponiendo que tu backup se llama backup.sql y esta en /tmp, ejecuta en bash:

mysql -uroot -p -e "create database tubackup" # pon el password cuando te lo pida

mysql -uroot -p tubackup < /tmp/backup.sql # de nuevo el password cuando te pregunte

# ahora entra a mysql, otra vez password
mysql -uroot -p tubackup

# crea unas tablas nuevas a exportar
mysql -uroot -p tubackup -e "
create table catalog_product_entity_ELNOMBREDETUATRIBUTO as
select cpev.* from catalog_product_entity_varchar cpev
inner join eav_attribute at on at.attribute_id = cpev.attribute_id
where at.attribute_name = 'ELNOMBREDETUATRIBUTO';

create table eav_attribute_ELNOMBREDETUATRIBUTO as
select at.* from eav_attribute at
where at.attribute_name = 'ELNOMBREDETUATRIBUTO';
"

# haz un backup de esas tablas nuevas:
mysqldump --no-create-info -uroot -p tubackup catalog_product_entity_ELNOMBREDETUATRIBUTO eav_attribute_ELNOMBREDETUATRIBUTO > /tmp/tuatributo.sql

# remombrar los inserts de la tabla catalog_product_entity_ELNOMBREDETUATRIBUTO a catalog_product_entity_varchar
sed -i 's#catalog_product_entity_ELNOMBREDETUATRIBUTO#catalog_product_entity_varchar#g' /tmp/tuatributo.sql

# remombrar los inserts de la tabla eav_attribute_ELNOMBREDETUATRIBUTO a eav_attribute
sed -i 's#eav_attribute#eav_attribute#g' /tmp/tuatributo.sql

luego de todo esto tendras un archivo /tmp/tuatributo.sql que contendra el insert a la tabla eav_attribute y a catalog_product_entity_varchar, es decir la definicion y los valores de tu atributo. espero no haya sido demasiado tarde la respuesta.
 

J.reguero

Nuevo usuario
Hola J.reguero.

Seguro. carga el backup en aguna base de datos vacia. y ejecuta lo siguiente: (suponiendo que es solo un atributo de texto simple)

suponiendo que tu backup se llama backup.sql y esta en /tmp, ejecuta en bash:

mysql -uroot -p -e "create database tubackup" # pon el password cuando te lo pida

mysql -uroot -p tubackup < /tmp/backup.sql # de nuevo el password cuando te pregunte

# ahora entra a mysql, otra vez password
mysql -uroot -p tubackup

# crea unas tablas nuevas a exportar
mysql -uroot -p tubackup -e "
create table catalog_product_entity_ELNOMBREDETUATRIBUTO as
select cpev.* from catalog_product_entity_varchar cpev
inner join eav_attribute at on at.attribute_id = cpev.attribute_id
where at.attribute_name = 'ELNOMBREDETUATRIBUTO';

create table eav_attribute_ELNOMBREDETUATRIBUTO as
select at.* from eav_attribute at
where at.attribute_name = 'ELNOMBREDETUATRIBUTO';
"

# haz un backup de esas tablas nuevas:
mysqldump --no-create-info -uroot -p tubackup catalog_product_entity_ELNOMBREDETUATRIBUTO eav_attribute_ELNOMBREDETUATRIBUTO > /tmp/tuatributo.sql

# remombrar los inserts de la tabla catalog_product_entity_ELNOMBREDETUATRIBUTO a catalog_product_entity_varchar
sed -i 's#catalog_product_entity_ELNOMBREDETUATRIBUTO#catalog_product_entity_varchar#g' /tmp/tuatributo.sql

# remombrar los inserts de la tabla eav_attribute_ELNOMBREDETUATRIBUTO a eav_attribute
sed -i 's#eav_attribute#eav_attribute#g' /tmp/tuatributo.sql

luego de todo esto tendras un archivo /tmp/tuatributo.sql que contendra el insert a la tabla eav_attribute y a catalog_product_entity_varchar, es decir la definicion y los valores de tu atributo. espero no haya sido demasiado tarde la respuesta.
 

J.reguero

Nuevo usuario
Hola, muchas gracias por tu ayuda. En este caso tuve la fortuna de que las personas que llevan el Hosting conocían este problema y lo solucionaron ellos. Fue un gran alivio pero no sé cómo lo solucionaron por lo que no puedo ayudar mucho a otras personas que les ocurre lo mismo. Creo que lo que dice Mauricio es lo que hay que hacer. Gracias de nuevo.
 
Estado
Cerrado para nuevas respuestas
Arriba