Es kann vorkommen, dass Sie die Meldung Argument 1 passed to Mage_Core_Model_Store::setWebsite() must be an instance of Mage_Core_Model_Website, null given erhalten, wenn Sie Ihren Shop auf einen anderen Server umziehen. Die Lösung ist denkbar einfach. Führen Sie die folgenden SQL…
Alle Produkte löschen mit SQL (Magento 1)
Sie möchten alle Produkte aus Ihrem Magento Shop direkt über die Datenbank entfernen? Die folgende Zeile löscht alle Produkte sauber und zuverlässig:
1 |
DELETE FROM catalog_product_entity; |
Durch die Contraints dieser Tabelle werden Produktverbindungen auch sauber aus anderen Tabellen entfernt.
Produkte mit und ohne Custom Options (individuelle Optionen) finden per SQL (Magento 1)
Um alle Produkte zu finden, die keine individuellen Optionen haben, führen Sie die folgende Abfrage aus:
1 2 3 4 5 6 |
SELECT * FROM catalog_product_entity WHERE entity_id NOT IN (SELECT DISTINCT product_id FROM catalog_product_option); |
Wenn Sie alle Produkte suchen, die individuelle Optionen haben, entfernen Sie einfach das “NOT” aus der obigen Abfrage.
Passwort für Admin per SQL direkt in der Datenbank abändern (Magento 1)
Mit dem folgenden SQL-Befehl können Sie das Passwort für einen Admin-Nutzer zurücksetzen:
1 |
UPDATE `admin_user` SET `password` = MD5('NEUESPASSWORT') WHERE `username` = 'ADMINUSERNAME'; |
Invalid backend model specified: catalog/attribute_backend_customlayoutupdate Problem beheben (Magento 1)
Führen Sie zuerst diese Abfrage aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
SELECT * FROM eav_attribute WHERE ( `attribute_id` LIKE '%stomlayoutupdate%' OR `entity_type_id` LIKE '%stomlayoutupdate%' OR `attribute_code` LIKE '%stomlayoutupdate%' OR `attribute_model` LIKE '%stomlayoutupdate%' OR `backend_model` LIKE '%stomlayoutupdate%' OR `backend_type` LIKE '%stomlayoutupdate%' OR `backend_table` LIKE '%stomlayoutupdate%' OR `frontend_model` LIKE '%stomlayoutupdate%' OR `frontend_input` LIKE '%stomlayoutupdate%' OR `frontend_label` LIKE '%stomlayoutupdate%' OR `frontend_class` LIKE '%stomlayoutupdate%' OR `source_model` LIKE '%stomlayoutupdate%' OR `is_required` LIKE '%stomlayoutupdate%' OR `is_user_defined` LIKE '%stomlayoutupdate%' OR `default_value` LIKE '%stomlayoutupdate%' OR `is_unique` LIKE '%stomlayoutupdate%' OR `note` LIKE '%stomlayoutupdate%' ); |
Notieren Sie sich die attribute_ids aus dem Ergebnis und führen Sie danach diese Abfrage aus:
1 2 3 |
DELETE FROM eav_attribute WHERE attribute_id IN (attribute_ids aus erster Abfrage); |
Fertig!
Status aller Produkte aus Datenbank auslesen (Magento 1)
Um den Status aller Produkte aus der Datenbank auszulesen, kann folgende Abfrage genutzt werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
SELECT cpe.sku, q.product_status FROM catalog_product_entity cpe JOIN (SELECT entity_id AS product_id, value AS product_status FROM catalog_product_entity_int WHERE entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product') AND attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'status' AND entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product'))) q ON cpe.entity_id = q.product_id; |
Status 1: aktiviert Status 2: deaktivert
Stored Procedure aus Magento heraus aufrufen
Um eine Stored Procedure aus Magenti Code aufzurufen, verwendet man den folgenden Code:
1 2 3 4 |
$resource = Mage::getSingleton('core/resource'); $readConnection = $resource->getConnection('core_read'); $query = 'CALL stored_procedure()'; $results = $readConnection->exec($query); |
Bestellungen finden, die mindestens ein Item mit einem bestimmten Attributset haben (Magento 1)
Sie möchten alle Magento Bestellungen finden, die mindestens ein Item mit einem bestimmten Attribut Set haben? Nutzen Sie die folgende Abfrage:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/* 9 = attribute set Id */ select increment_id, created_at, entity_id from sales_flat_order where entity_id not in ( SELECT o.entity_id FROM sales_flat_order o LEFT JOIN sales_flat_order_item i ON o.entity_id = i.order_id LEFT JOIN catalog_product_entity p ON i.product_id = p.entity_id WHERE p.attribute_set_id = 9 ) |
Vergleichsliste in der Datenbank löschen (Magento 1)
Mit dem folgenden SQL entfernt man alle Items aus der Magento Produkt-Vergleichsliste:
1 |
delete from catalog_compare_item; |
SQL Query einer Collection abrufen (Magento 1)
Um die SQL Query einer Magento Collection herauszubekommen, muß der folgende Code verwendet werden:
1 |
$sql = (string)$collection->getSelect(); |