ACHTUNG: Nur ausführen, wenn man auch wirklich ALLE Bestände löschen will. VORHER Datenbank Backup ziehen!
Problem:
Für meine Inventur muss ich alle Bestände auf Realbestand aktualisieren. Dafür möchte ich erstmal alle Bestände auf 0 setzen. Mangels Bulkeditor in der SW6 Community Edition ist die EInzeländerung inkl. Varianten ein aufwändiges Unterfangen.
Lösung:
Da ich nichts Passendes gefunden habe, habe ich mir 2 SQL Statements gebaut und mit Admin Miner ausgeführt.
Zeige alle Produkte & Varianten mit Bestand (TABLE product FIELDS stock, available_stock)
SELECT *, HEX(
id) ASid, HEX(version_id) ASversion_id, HEX(parent_id) ASparent_id, HEX(parent_version_id) ASparent_version_id, HEX(tax_id) AStax_id, HEX(product_manufacturer_id) ASproduct_manufacturer_id, HEX(product_manufacturer_version_id) ASproduct_manufacturer_version_id, HEX(delivery_time_id) ASdelivery_time_id, HEX(deliveryTime) ASdeliveryTime, HEX(product_media_id) ASproduct_media_id, HEX(product_media_version_id) ASproduct_media_version_id, HEX(cms_page_id) AScms_page_id, HEX(cms_page_version_id) AScms_page_version_id, HEX(unit_id) ASunit_id, HEX(product_feature_set_id) ASproduct_feature_set_id, HEX(tax) AStax, HEX(manufacturer) ASmanufacturer, HEX(cover) AScover, HEX(unit) ASunit, HEX(media) ASmedia, HEX(prices) ASprices, HEX(visibilities) ASvisibilities, HEX(properties) ASproperties, HEX(categories) AScategories, HEX(translations) AStranslations, HEX(tags) AStags, HEX(main_variant_id) ASmain_variant_id, HEX(crossSellings) AScrossSellings, HEX(featureSet) ASfeatureSet, HEX(customFieldSets) AScustomFieldSets, HEX(canonical_product_id) AScanonical_product_id, HEX(canonicalProduct) AScanonicalProduct, HEX(cmsPage) AScmsPage
FROMproduct
WHEREavailable_stock!= ‚0‘ ORstock!= ‚0‘
LIMIT 500;
Produktbestand für ALLE Produkte mit [verfügbarem] Lagerbestand auf 0 setzen (TABLE product FIELDS stock, available_stock)
UPDATE
productSETavailable_stock= ‚0‘,stock= ‚0‘
WHEREavailable_stock!= ‚0‘ ORstock!= ‚0‘;