Pregunta

Estoy usando el fastsimpleimport Módulo para crear mi importación personalizada. Esto tiene un setDropdownAttributes() Función para crear automáticamente los valores de atributo necesarios, pero no elimina los valores no utilizados. Los que todavía aparecen en mi búsqueda avanzada.

¿Cómo puedo buscar y eliminar los valores de atributos no utilizados?

Creo que están almacenados en eav_attribute_option_value Pero no estoy seguro de cómo verificar si son utilizados por un producto.

¿Fue útil?

Solución

delete c,b
from eav_attribute a
inner join eav_attribute_option b on a.attribute_id = b.attribute_id
inner join eav_attribute_option_value c on c.`option_id` = b.option_id
LEFT join catalog_product_entity_int pi on b.option_id=pi.value and pi.store_id=0 and b.attribute_id=pi.attribute_id
where entity_id is null

Prueba esta consulta ..

Otros consejos

La respuesta de Luffy es técnicamente incorrecta, ya que tiene 3 problemas:

  • eliminará valores para admin Vista de la tienda solo dejando algunas vistas de la tienda relacionada con la basura
  • eliminará los valores no utilizados de los atributos de todos los tipos de entidad
  • eliminará TODOS Valores de atributos con tipo "múltiple selección" independientemente de si se asignan a algún producto o no porque sus opciones se almacenan en catalog_product_entity_varchar y no catalog_product_entity_int

La consulta a continuación aborda estos problemas:

    DELETE o, v
      FROM `eav_attribute` a
INNER JOIN `eav_attribute_option` o ON a.`attribute_id` = o.`attribute_id`
INNER JOIN `eav_attribute_option_value` v ON v.`option_id` = o.`option_id`
INNER JOIN `eav_entity_type` t ON t.`entity_type_id` = a.`entity_type_id`
 LEFT JOIN `catalog_product_entity_int` pi ON o.`option_id` = pi.`value` AND o.`attribute_id` = pi.`attribute_id`
 LEFT JOIN `catalog_product_entity_varchar` pv ON o.`option_id` = pv.`value` AND o.`attribute_id` = pv.`attribute_id`
     WHERE pi.`entity_id` IS NULL
       AND pv.`entity_id` IS NULL
       AND t.`entity_type_code` = "catalog_product"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top