2011-08-25 13 views
5

Ho appena importato oltre 12k prodotti nel mio catalogo Magento.Mass update semplice prodotto "status" tramite query MySQL

Il problema è che i prodotti arrivavano con il campo "Stato" non definito, e ho bisogno di vederli su "Abilitato" manualmente se voglio usarli nel negozio front-end. Fare questo manualmente richiederebbe ore.

Sapete dove questa impostazione è definita nel database? Conosci una query che lo farebbe automaticamente (desidero impostare TUTTI i prodotti su "Abilitato").

+0

È possibile scrivere un piccolo script per questo. – Kailas

risposta

-7

imposterà tutti righe come consentito

UPDATE Catalog SET Status='Enabled' 

Se si vuole avere attivata per impostazione predefinita è possibile modificare questo un po '.

ALTER TABLE `Catalog` CHANGE `Status` `Status` ENUM('','Enabled','Disabled') NOT NULL DEFAULT 'Enabled' 
+0

a quale versione di Magento si applica? – Alex

+4

Questo non si applica a nessuna versione di Magento, a quanto pare. –

16
# First find the ID of the product status attribute in the EAV table: 
SELECT * FROM eav_attribute where entity_type_id = 4 AND attribute_code = 'status' 

# Then use that status attribute ID ($id) while querying the product entity table: 
UPDATE catalog_product_entity_int SET value = 1 WHERE attribute_id = $id 
  • 1 - abilitato
  • 2 - disabilitato
+0

Tieni presente che i diversi valori sono memorizzati in diverse tabelle. Se il tuo valore è di tipo 'varchar' sarà in catalog_product_entity_varchar - puoi verificarlo nella struttura della tabella eav_attribute. Grazie per questo, mi ha aiutato. – DreamWave