Magento 1.9x Cambiare Dropdown in Multiselect tramite SQL

Magento 1.9x Cambiare Dropdown in Multiselect tramite SQL

Vediamo come cambiare in Magento 1.9x il tipo di attributo, salvato come dropdown nel tipo multiselect utilizzando tre semplice istruzioni SQL.

Innanzitutto verifichiamo nella tabella eav_entity_type che il codice entity_type_id sia il numero 4 riferito all’entity_model  catalog/product ( questo potrebbe essere diverso in base alle versioni di magento).

Magento tabella eav_entity per cambiare dropdown in multiselect

Per prima cosa eseguiamo la seguente query che aggiorna il tipo di attributo dropdown che vogliamo cambiare in multiselect

UPDATE eav_attribute SET
entity_type_id = '4',
attribute_model = NULL,
backend_model = 'eav/entity_attribute_backend_array',
backend_type = 'varchar',
backend_table = NULL,
frontend_model = NULL,
frontend_input = 'multiselect',
frontend_class = NULL
WHERE attribute_id = 'ID_ATTRIBUTO_CHE_VOGLIAMO_CAMBIARE';

Ora aggiorniamo i valori dei campi settati nel vecchio attributo dropdown nei nuovi campi assegnati al multiselect

INSERT INTO catalog_product_entity_varchar ( entity_type_id, attribute_id, store_id, entity_id, value)
SELECT entity_type_id, attribute_id, store_id, entity_id, value
FROM catalog_product_entity_int
WHERE attribute_id = ID_ATTRIBUTO_CHE_VOGLIAMO_CAMBIARE;

Fatto questo eliminiamo i valori dei vecchi campi utilizzati nell’attributo dropdown

DELETE FROM catalog_product_entity_int
WHERE entity_type_id = 4 and attribute_id = ID_ATTRIBUTO_CHE_VOGLIAMO_CAMBIARE;

Abbiamo cambiato l’attributo creato in precedenza con dropdown nel tipo multiselect, copiato tutti i suo valori esistenti nel nuovo tipo multiselect e cancellato tutti i valori del vecchio dropdown.

Pasquale Guarino

pasquale.guarino80@gmail.com