Wir haben auch das Problem mit den wegfallenden EAN Codes. Ein Update steht zwar jetzt zwar nicht zeitnah an aber die SQL Statments könnten helfen wenn es so weit ist. Bitte gerne hier posten falls möglich. Grüße
Vielen Dank für ihre Antwort. Wir haben großes Interesse an der der Durchführung der Migration durch einen Dienstleister. Bitte senden Sie ein Angebot für die Durchführung dieser Arbeiten an: info@cityjewels.de
Ich habe die Schnipsel etwas ergänzt, um sie besser verständlich zu machen. Bitte schaut unbedingt vorher darüber, da wir nicht alle Optionen (ehemalige Attribute) in Varianten (ehemalige Eigenschaften) umgewandelt haben, sondern nur einige. Daher beziehen sich die Abfragen auch nur auf die Migration einer Variante, wie z.B. Größe. Bitte macht unbedingt vorher ein Backup! Außerdem sollte dies mit dem Upgrade der Gambio-Version kombiniert werden. Damals haben wir die Daten gesichert und dann von Version 4.4 auf Version 4.8 aktualisiert. Nach dem Update haben wir dann die Datenmigration durchgeführt. Bitte beachtet, dass bei niedrigeren Versionen möglicherweise Fehler auftreten können, da bestimmte Spalten erst in Version 4.7 hinzugefügt wurden. Vorweg muss die ID der zu migrierenden Attribute notiert werden (Diese ist nach dem Update nur noch in der Datenbank sichtbar). Öffnet die Attribute (unter "dein.shop/admin/products_attributes.php") und erstellet am besten einen vollständigen Screenshot aller Attribute. Es geht um die Spalte "ID", die der "options_id" im SQL entspricht (gekennzeichnet durch "Options ID nach Anforderung anpassen"). Code: -- Tabelle products_properties_combis kopieren (Vor dem Update um die EAN´s zu sichern) CREATE TABLE products_attributes_before_update AS SELECT * FROM products_attributes; -- ++++ -- Gambio Update durchführen -- ++++ -- Temporäre spalte anlegen, für leichteres mapping der products_properties_combis_values ALTER TABLE products_properties_combis ADD COLUMN options_values_id INT(11) NOT NULL DEFAULT 0 AFTER products_properties_combis_id; ALTER TABLE products_properties_combis ADD COLUMN options_id INT(11) NOT NULL DEFAULT 0 AFTER options_values_id; -- Alle Artikeloptionen mit Optionen ID 1 (Größe) in die Tabelle products_properties_combis übertragen INSERT INTO products_properties_combis (`options_values_id`, `options_id`, `products_id`, `sort_order`, `combi_model`, `combi_ean`, `stock_type`, `combi_quantity`, `combi_shipping_status_id`, `combi_weight`, `combi_weight_type`, `combi_price_type`, `combi_price`, `products_vpe_id`, `vpe_value`, `gtin`, `asin`) SELECT pa.options_values_id, pa.options_id, pa.products_id, pa.sortorder, pa.attributes_model, IFNULL(pa_bak.gm_ean, ''), pa.stock_type, pa.attributes_stock, 1, -- Existiert in der products_attributes nicht (combi_shipping_status_id) nach Anforderung anpassen pa.options_values_price, null, -- Existiert in der products_attributes nicht (combi_weight_type) 'calc', -- Existiert in der products_attributes nicht (combi_price_type) calc = Preis aus Artikeloptionen berechnen, fix = Artikelvarianten-Festpreis pa.options_values_price, pa_bak.products_vpe_id, -- Wird in 4.7.1.0 gelöscht, aus Sicherungstabelle holen pa_bak.gm_vpe_value, -- Wird in 4.7.1.0 gelöscht, aus Sicherungstabelle holen IFNULL(pa_bak.gm_ean, ''), -- Wird in 4.7.1.0 gelöscht, aus Sicherungstabelle holen '' -- Existiert in der products_attributes nicht (asin) FROM products_attributes pa LEFT JOIN products_attributes_before_update pa_bak ON pa_bak.products_attributes_id = pa.products_attributes_id WHERE pa.options_id = 1; -- Options ID nach Anforderung anpassen -- Alle Artikeloptionen mit Optionen ID 1 (Größe) in die Tabelle products_properties_combis_values übertragen INSERT INTO products_properties_combis_values (`products_properties_combis_id`, `properties_values_id`, `options_id`) SELECT products_properties_combis_id, (SELECT pov.option_value_id FROM products_options_values pov WHERE ppc.options_values_id = pov.products_options_values_id AND language_id = 1 -- Nur englische Werte übernehmen Abfrage ggf. für DE (ID 2) wiederholen ), ppc.options_id FROM products_properties_combis ppc WHERE ppc.products_properties_combis_id NOT IN (SELECT products_properties_combis_id FROM products_properties_combis_values); -- Alle Artikeloptionen mit Options ID 1 aus der Tabelle products_attributes löschen DELETE FROM products_attributes WHERE options_id = 1; -- Options ID nach Anforderung anpassen -- Temporäre Spalten löschen ALTER TABLE products_properties_combis DROP COLUMN options_values_id; ALTER TABLE products_properties_combis DROP COLUMN options_id; -- Alle Artikeloptionen mit Optionen ID 1 (Größe) in die Tabelle products_properties_admin_select übertragen -- !!! ACHTUNG !!! Eigenschaften ID muss geprüft werden, kann sich nach migration geändert haben INSERT INTO `products_properties_admin_select`(`products_id`, `properties_id`, `properties_values_id`) SELECT ppi.products_id, ppi.properties_id, ppi.properties_values_id FROM products_properties_index ppi WHERE ppi.language_id = 1 AND ppi.products_id > 0 AND ppi.properties_id = 1; -- ++++ -- Cache für Artikelvarianten-Zuweisungen neu erzeugen -- ++++