Magento 2 und das Data-Migration-Tool

Das “Tool” in Aktion

Es ist ein Weilchen her, da sagte man mir, dass die Migration eines Magento 1.8 auf die aktuellere Version 2.1 ein Ding der Unmöglichkeit sei und dass ich den Versuch besser nicht in die Tat umsetzen sollte.

Nun gibt es bereits Version 2.3, was mir zunächst einmal den Gedanken bescherte, ob ein Umzug einerseits überhaupt noch realistisch und andererseits generell machbar sein könnte. Ich zweifelte lange Zeit, aber dann versuchte ich es trotzdem und tatsächlich: Es funktioniert!

Man sollte dieses wahnsinnige “Data-Migration-Tool” nur bitte nicht so verwenden, wie es gedacht sein könnte. Wie genau es gedacht ist, habe ich nämlich aufgrund der lausigen Doku ohnehin nie verstanden.

tl;dr Ein Bericht zu einer Migration und auch ein kurzes Snippet, wie man sämtliche Produkt- und Bestelldaten aus einem Magento 1.8.x in ein frisches, durchgestyltes und fertig eingerichtetes Magento 2.3.x bekommt, ohne völlig auszurasten

Irgendwann vor ein paar Jahren hatte ich die wahnwitzige Idee, einen sehr betagten Magento (Version 1.8.1.1) auf einen neuen Level zu heben und in eine Magento 2.x zu überführen. Dies schien zunächst einmal einfachst und aufgrund der zahlreichen Tools und scripte auch so unfassbar simpel, dass ich einen – aus heutiger sicht relativ optimistischen – Zeitplan aufstellte. Ich wollte einen Store, bestehend aus 4 Frontends, innerhalb eines halben Jahres auf eine neue Plattform bringen. Selbstverständlich inklusive kompletter Historie, allen Eigenentwicklungen, speziellen Extra-Modulen (oder äquivalentem Ersatz) und allen Produktattributen, die sich in der Zwischenzeit angesammelt hatten. Hätte ich Vollzeit dafür Zeit gehabt, wäre es zwar optimistisch aber auch machbar gewesen.

Als Teilzeit-Shopentwickler war dieser Zeitplan aber tatsächlich nicht hinzubekommen. Das Design war relativ einfach umzusetzen und auch die Module waren straight forward recht simpel zu übertragen. Was hingegen gar nicht geht, ist dieses Machwerk, das sich auch noch frech “Tool” nennt.

Das Data-Migration-Tool nämlich soll angeblich dafür sorgen, dass alle Daten aus der 1.x Welt in die 2.x übertragen werden können.

Denkst’e!

Zunächst einmal verzweifelst Du an der “Map”. Das ist die Datei, die alle Ist-Daten definiert und genau bestimmt, wo sie in der neuen Version hinkommen. Dann rastest Du permanent aus, weil eine jede Änderung getestet werden will: Du löschst alles, was Du an Daten in 2.x hast und startest das “Tool”. Es kachelt dann irgendwann ab und faselt Kauderwelsch, den Du auch nach 2 Stunden Google nicht verstehst. Du brichst ab.

Neuer Tag – neues Glück. Du löschst abermals alle Daten aus 2.x und startest das Tool erneut. Dann klappt es wieder nicht, die Meldung ist aber anders als gestern und schon staunst Du: Du hast Müll in die Map geschrieben. Wieder von vorne…

Irgendwann schaffst Du vielleicht die Map und – OH YEAH BABY – es scheint zu laufen, doch nachdem aus knapp 8GB Quelldatenbank etwa 4GB übertragen worden sind, schmiert dieses Monster abermals nach 2 Stunden Rödelei ab.

So ungefähr läuft das Spielchen ein paar Abende, Nächte, ja sogar Wochenenden, bis Du endlich ein brauchbares Setup hast. Geschafft, denkst Du Dir und bereitest bei jeder Gelegenheit weitere Module vor. Die Entwicklung nimmt Formen an.

Jetzt passiert das Undenkbare – ja – etwas, was sich selbst der kühnste Data-Migration-Tool-Entwickler im Leben nicht hat vorstellen können: In der alten Magento-Version werden weitere Produkte mit neuen Attributen angelegt und – völlig unfassbar, aber tatsächlich wahr – neue Bestellungen generiert und Du möchtest wahrlich nichts weiter tun, als NUR DIE NEUEN Daten zu übertragen!

Vergiss es!

Ich habe schon viele Migrations-Tools gesehen, aber das, was Magento hier mitliefert, ist der größte Haufen Sch…, den ich jemals gesehen habe! Ich habe wirklich viel versucht und alles sah vielversprechend aus und so lief dieses Magento-Scriptmonster eine ganze Nacht lang und transferierte aus einer mittlerweile 13GB großen Quelldatenbank sagenhafte 1.9GB!

In 8 Stunden! 

Wie lange sollte ich auf das hoffentlich korrekte Ergebnis warten? Was, wenn die Daten Schrott sind und ich nach 4 Tagen von vorne anfangen darf?

Ich wählte: die Brechstange

Dieser Blog-Eintrag, “Magento 2 data migration without delta”, brachte mich auf Idee, die Delta-Migration ohne Delta durchzuführen. Einfach alles wegschmeissen und die Standard-Migration durchführen! Das hat doch vorher auch so toll funktioniert. Der Trick ist wahrlich, alles wegzuwerfen, was nicht Config, Theme oder Modul-Setup betrifft und schon klappt es auch mit den Daten!

Diesmal dauerte die Datenübernahme keine unbekannt vielen (auf jeden Fall mehr als 8) Stunden, sondern lediglich knapp 2. Wer ebenfalls vor diesem scheinbar unlösbaren Problem des wachsenden Ursprungssystems steht, das mit einfachen Mitteln in die neue Version überführt werden soll, darf die Brechstange gerne einmal testen.

Denkt daran, dass Eure map.xml und config.xml korrekt vorbereitet sein müssen, bevor Ihr das Experiment wagt. Dann schrottet Ihr gekonnt die Magento 2 Datenbank (siehe nachfolgende Query), in die Ihr die Historie übertragen wollt und startet im Anschluss das allseits sehr beliebte Data-Migration-Tool im normalen Modus (nicht Delta – das klappt eh nicht) und freut Euch danach über einen sauberen, vollkommen neuen Shop.

Und so sieht meine Version des Datenbank-Schrottens aus, die dann zum Erfolg führte. Diese Sammlung freundlicher Queries, einfach auf die Magento 2 Datenbank abgefeuert, ersparte mir unzählige Stunden des Debuggings:

USE [DBNAME];

SET FOREIGN_KEY_CHECKS = 0;

TRUNCATE TABLE amazon_customer;
TRUNCATE TABLE amazon_pending_authorization;
TRUNCATE TABLE amazon_pending_capture;
TRUNCATE TABLE amazon_pending_refund;
TRUNCATE TABLE amazon_quote;
TRUNCATE TABLE amazon_sales_order;
TRUNCATE TABLE cache;
TRUNCATE TABLE cache_tag;
TRUNCATE TABLE captcha_log;
TRUNCATE TABLE catalog_category_entity;
TRUNCATE TABLE catalog_category_entity_datetime;
TRUNCATE TABLE catalog_category_entity_decimal;
TRUNCATE TABLE catalog_category_entity_int;
TRUNCATE TABLE catalog_category_entity_text;
TRUNCATE TABLE catalog_category_entity_varchar;
TRUNCATE TABLE catalog_category_flat_store_1;
TRUNCATE TABLE catalog_category_flat_store_4;
TRUNCATE TABLE catalog_category_flat_store_5;
TRUNCATE TABLE catalog_category_flat_store_6;
TRUNCATE TABLE catalog_category_product;
TRUNCATE TABLE catalog_category_product_index;
TRUNCATE TABLE catalog_category_product_index_replica;
TRUNCATE TABLE catalog_category_product_index_store1;
TRUNCATE TABLE catalog_category_product_index_store1_replica;
TRUNCATE TABLE catalog_category_product_index_store4;
TRUNCATE TABLE catalog_category_product_index_store4_replica;
TRUNCATE TABLE catalog_category_product_index_store5;
TRUNCATE TABLE catalog_category_product_index_store5_replica;
TRUNCATE TABLE catalog_category_product_index_store6;
TRUNCATE TABLE catalog_category_product_index_store6_replica;
TRUNCATE TABLE catalog_category_product_index_tmp;
TRUNCATE TABLE catalog_compare_item;

TRUNCATE TABLE catalog_product_bundle_option;
TRUNCATE TABLE catalog_product_bundle_option_value;
TRUNCATE TABLE catalog_product_bundle_price_index;
TRUNCATE TABLE catalog_product_bundle_selection;
TRUNCATE TABLE catalog_product_bundle_selection_price;
TRUNCATE TABLE catalog_product_bundle_stock_index;
TRUNCATE TABLE catalog_product_entity;
TRUNCATE TABLE catalog_product_entity_datetime;
TRUNCATE TABLE catalog_product_entity_decimal;
TRUNCATE TABLE catalog_product_entity_gallery;
TRUNCATE TABLE catalog_product_entity_int;
TRUNCATE TABLE catalog_product_entity_media_gallery;
TRUNCATE TABLE catalog_product_entity_media_gallery_value;
TRUNCATE TABLE catalog_product_entity_media_gallery_value_to_entity;
TRUNCATE TABLE catalog_product_entity_media_gallery_value_video;
TRUNCATE TABLE catalog_product_entity_text;
TRUNCATE TABLE catalog_product_entity_tier_price;
TRUNCATE TABLE catalog_product_entity_varchar;
TRUNCATE TABLE catalog_product_flat_1;
TRUNCATE TABLE catalog_product_flat_2;
TRUNCATE TABLE catalog_product_flat_3;
TRUNCATE TABLE catalog_product_flat_4;
TRUNCATE TABLE catalog_product_flat_5;
TRUNCATE TABLE catalog_product_flat_6;
TRUNCATE TABLE catalog_product_frontend_action;
TRUNCATE TABLE catalog_product_index_eav;
TRUNCATE TABLE catalog_product_index_eav_decimal;
TRUNCATE TABLE catalog_product_index_eav_decimal_idx;
TRUNCATE TABLE catalog_product_index_eav_decimal_replica;
TRUNCATE TABLE catalog_product_index_eav_decimal_tmp;
TRUNCATE TABLE catalog_product_index_eav_idx;
TRUNCATE TABLE catalog_product_index_eav_replica;
TRUNCATE TABLE catalog_product_index_eav_tmp;
TRUNCATE TABLE catalog_product_index_price;
TRUNCATE TABLE catalog_product_index_price_bundle_idx;
TRUNCATE TABLE catalog_product_index_price_bundle_opt_idx;
TRUNCATE TABLE catalog_product_index_price_bundle_opt_tmp;
TRUNCATE TABLE catalog_product_index_price_bundle_sel_idx;
TRUNCATE TABLE catalog_product_index_price_bundle_sel_tmp;
TRUNCATE TABLE catalog_product_index_price_bundle_tmp;
TRUNCATE TABLE catalog_product_index_price_cfg_opt_agr_idx;
TRUNCATE TABLE catalog_product_index_price_cfg_opt_agr_tmp;
TRUNCATE TABLE catalog_product_index_price_cfg_opt_idx;
TRUNCATE TABLE catalog_product_index_price_cfg_opt_tmp;
TRUNCATE TABLE catalog_product_index_price_downlod_idx;
TRUNCATE TABLE catalog_product_index_price_downlod_tmp;
TRUNCATE TABLE catalog_product_index_price_final_idx;
TRUNCATE TABLE catalog_product_index_price_final_tmp;
TRUNCATE TABLE catalog_product_index_price_idx;
TRUNCATE TABLE catalog_product_index_price_opt_agr_idx;
TRUNCATE TABLE catalog_product_index_price_opt_agr_tmp;
TRUNCATE TABLE catalog_product_index_price_opt_idx;
TRUNCATE TABLE catalog_product_index_price_opt_tmp;
TRUNCATE TABLE catalog_product_index_price_replica;
TRUNCATE TABLE catalog_product_index_price_tmp;
TRUNCATE TABLE catalog_product_index_tier_price;
TRUNCATE TABLE catalog_product_index_website;
TRUNCATE TABLE catalog_product_link;
TRUNCATE TABLE catalog_product_link_attribute;
TRUNCATE TABLE catalog_product_link_attribute_decimal;
TRUNCATE TABLE catalog_product_link_attribute_int;
TRUNCATE TABLE catalog_product_link_attribute_varchar;
TRUNCATE TABLE catalog_product_link_type;
TRUNCATE TABLE catalog_product_option;
TRUNCATE TABLE catalog_product_option_price;
TRUNCATE TABLE catalog_product_option_title;
TRUNCATE TABLE catalog_product_option_type_price;
TRUNCATE TABLE catalog_product_option_type_title;
TRUNCATE TABLE catalog_product_option_type_value;
TRUNCATE TABLE catalog_product_relation;
TRUNCATE TABLE catalog_product_super_attribute;
TRUNCATE TABLE catalog_product_super_attribute_label;
TRUNCATE TABLE catalog_product_super_link;
TRUNCATE TABLE catalog_product_website;
TRUNCATE TABLE catalog_url_rewrite_product_category;
TRUNCATE TABLE cataloginventory_stock;
TRUNCATE TABLE cataloginventory_stock_item;
TRUNCATE TABLE cataloginventory_stock_status;
TRUNCATE TABLE cataloginventory_stock_status_idx;
TRUNCATE TABLE cataloginventory_stock_status_replica;
TRUNCATE TABLE cataloginventory_stock_status_tmp;

TRUNCATE TABLE catalogsearch_fulltext_scope1;
TRUNCATE TABLE catalogsearch_fulltext_scope2;
TRUNCATE TABLE catalogsearch_fulltext_scope3;
TRUNCATE TABLE catalogsearch_fulltext_scope4;
TRUNCATE TABLE catalogsearch_fulltext_scope5;
TRUNCATE TABLE catalogsearch_fulltext_scope6;
TRUNCATE TABLE catalogsearch_recommendations;

TRUNCATE TABLE customer_address_entity;
TRUNCATE TABLE customer_address_entity_datetime;
TRUNCATE TABLE customer_address_entity_decimal;
TRUNCATE TABLE customer_address_entity_int;
TRUNCATE TABLE customer_address_entity_text;
TRUNCATE TABLE customer_address_entity_varchar;

TRUNCATE TABLE customer_entity;
TRUNCATE TABLE customer_entity_datetime;
TRUNCATE TABLE customer_entity_decimal;
TRUNCATE TABLE customer_entity_int;
TRUNCATE TABLE customer_entity_text;
TRUNCATE TABLE customer_entity_varchar;
TRUNCATE TABLE customer_form_attribute;
TRUNCATE TABLE customer_grid_flat;
TRUNCATE TABLE customer_group;
TRUNCATE TABLE customer_log;
TRUNCATE TABLE customer_visitor;

TRUNCATE TABLE downloadable_link;
TRUNCATE TABLE downloadable_link_price;
TRUNCATE TABLE downloadable_link_purchased;
TRUNCATE TABLE downloadable_link_purchased_item;
TRUNCATE TABLE downloadable_link_title;
TRUNCATE TABLE downloadable_sample;
TRUNCATE TABLE downloadable_sample_title;

TRUNCATE TABLE email_abandoned_cart;
TRUNCATE TABLE email_automation;
TRUNCATE TABLE email_campaign;
TRUNCATE TABLE email_catalog;
TRUNCATE TABLE email_contact;
TRUNCATE TABLE email_contact_consent;
TRUNCATE TABLE email_failed_auth;
TRUNCATE TABLE email_importer;
TRUNCATE TABLE email_order;
TRUNCATE TABLE email_review;
TRUNCATE TABLE email_rules;
TRUNCATE TABLE email_template;
TRUNCATE TABLE email_wishlist;
TRUNCATE TABLE flag;
TRUNCATE TABLE gift_message;
TRUNCATE TABLE googleoptimizer_code;
TRUNCATE TABLE import_history;
TRUNCATE TABLE importexport_importdata;
TRUNCATE TABLE indexer_state;
TRUNCATE TABLE integration;
TRUNCATE TABLE klarna_core_order;
TRUNCATE TABLE klarna_payments_quote;
TRUNCATE TABLE layout_link;
TRUNCATE TABLE layout_update;

TRUNCATE TABLE magento_acknowledged_bulk;
TRUNCATE TABLE magento_bulk;
TRUNCATE TABLE magento_operation;

TRUNCATE TABLE mageplaza_smtp_log;

TRUNCATE TABLE msp_tfa_country_codes;
TRUNCATE TABLE msp_tfa_trusted;
TRUNCATE TABLE msp_tfa_user_config;
TRUNCATE TABLE mview_state;
TRUNCATE TABLE newsletter_problem;
TRUNCATE TABLE newsletter_queue;
TRUNCATE TABLE newsletter_queue_link;
TRUNCATE TABLE newsletter_queue_store_link;
TRUNCATE TABLE newsletter_subscriber;
TRUNCATE TABLE newsletter_template;
TRUNCATE TABLE oauth_consumer;
TRUNCATE TABLE oauth_nonce;
TRUNCATE TABLE oauth_token;
TRUNCATE TABLE oauth_token_request_log;
TRUNCATE TABLE password_reset_request_event;
TRUNCATE TABLE patch_list;
TRUNCATE TABLE paypal_billing_agreement;
TRUNCATE TABLE paypal_billing_agreement_order;
TRUNCATE TABLE paypal_cert;
TRUNCATE TABLE paypal_payment_transaction;
TRUNCATE TABLE paypal_settlement_report;
TRUNCATE TABLE paypal_settlement_report_row;
TRUNCATE TABLE persistent_session;
TRUNCATE TABLE product_alert_price;
TRUNCATE TABLE product_alert_stock;
TRUNCATE TABLE queue;
TRUNCATE TABLE queue_lock;
TRUNCATE TABLE queue_message;
TRUNCATE TABLE queue_message_status;
TRUNCATE TABLE queue_poison_pill;
TRUNCATE TABLE quote;
TRUNCATE TABLE quote_address;
TRUNCATE TABLE quote_address_item;
TRUNCATE TABLE quote_id_mask;
TRUNCATE TABLE quote_item;
TRUNCATE TABLE quote_item_option;
TRUNCATE TABLE quote_payment;
TRUNCATE TABLE quote_shipping_rate;
TRUNCATE TABLE rating;
TRUNCATE TABLE rating_entity;
TRUNCATE TABLE rating_option;
TRUNCATE TABLE rating_option_vote;
TRUNCATE TABLE rating_option_vote_aggregated;
TRUNCATE TABLE rating_store;
TRUNCATE TABLE rating_title;
TRUNCATE TABLE release_notification_viewer_log;
TRUNCATE TABLE report_compared_product_index;
TRUNCATE TABLE report_event;
TRUNCATE TABLE report_event_types;
TRUNCATE TABLE report_viewed_product_aggregated_daily;
TRUNCATE TABLE report_viewed_product_aggregated_monthly;
TRUNCATE TABLE report_viewed_product_aggregated_yearly;
TRUNCATE TABLE report_viewed_product_index;
TRUNCATE TABLE reporting_counts;
TRUNCATE TABLE reporting_module_status;
TRUNCATE TABLE reporting_orders;
TRUNCATE TABLE reporting_system_updates;
TRUNCATE TABLE reporting_users;
TRUNCATE TABLE review;
TRUNCATE TABLE review_detail;
TRUNCATE TABLE review_entity;
TRUNCATE TABLE review_entity_summary;
TRUNCATE TABLE review_status;
TRUNCATE TABLE review_store;
TRUNCATE TABLE sales_bestsellers_aggregated_daily;
TRUNCATE TABLE sales_bestsellers_aggregated_monthly;
TRUNCATE TABLE sales_bestsellers_aggregated_yearly;
TRUNCATE TABLE sales_creditmemo;
TRUNCATE TABLE sales_creditmemo_comment;
TRUNCATE TABLE sales_creditmemo_grid;
TRUNCATE TABLE sales_creditmemo_item;
TRUNCATE TABLE sales_invoice;
TRUNCATE TABLE sales_invoice_comment;
TRUNCATE TABLE sales_invoice_grid;
TRUNCATE TABLE sales_invoice_item;
TRUNCATE TABLE sales_invoiced_aggregated;
TRUNCATE TABLE sales_invoiced_aggregated_order;
TRUNCATE TABLE sales_order;
TRUNCATE TABLE sales_order_address;
TRUNCATE TABLE sales_order_aggregated_created;
TRUNCATE TABLE sales_order_aggregated_updated;
TRUNCATE TABLE sales_order_grid;
TRUNCATE TABLE sales_order_item;
TRUNCATE TABLE sales_order_payment;
TRUNCATE TABLE sales_order_status;
TRUNCATE TABLE sales_order_status_history;
TRUNCATE TABLE sales_order_status_label;
TRUNCATE TABLE sales_order_status_state;
TRUNCATE TABLE sales_order_tax;
TRUNCATE TABLE sales_order_tax_item;
TRUNCATE TABLE sales_payment_transaction;
TRUNCATE TABLE sales_refunded_aggregated;
TRUNCATE TABLE sales_refunded_aggregated_order;
TRUNCATE TABLE sales_sequence_meta;
TRUNCATE TABLE sales_sequence_profile;
TRUNCATE TABLE sales_shipment;
TRUNCATE TABLE sales_shipment_comment;
TRUNCATE TABLE sales_shipment_grid;
TRUNCATE TABLE sales_shipment_item;
TRUNCATE TABLE sales_shipment_track;
TRUNCATE TABLE sales_shipping_aggregated;
TRUNCATE TABLE sales_shipping_aggregated_order;
TRUNCATE TABLE salesrule;
TRUNCATE TABLE salesrule_coupon;
TRUNCATE TABLE salesrule_coupon_aggregated;
TRUNCATE TABLE salesrule_coupon_aggregated_order;
TRUNCATE TABLE salesrule_coupon_aggregated_updated;
TRUNCATE TABLE salesrule_coupon_usage;
TRUNCATE TABLE salesrule_customer;
TRUNCATE TABLE salesrule_customer_group;
TRUNCATE TABLE salesrule_label;
TRUNCATE TABLE salesrule_product_attribute;
TRUNCATE TABLE salesrule_website;
TRUNCATE TABLE search_query;
TRUNCATE TABLE search_synonyms;
TRUNCATE TABLE sendfriend_log;
TRUNCATE TABLE sequence_creditmemo_0;
TRUNCATE TABLE sequence_creditmemo_1;
TRUNCATE TABLE sequence_creditmemo_2;
TRUNCATE TABLE sequence_creditmemo_3;
TRUNCATE TABLE sequence_creditmemo_4;
TRUNCATE TABLE sequence_creditmemo_5;
TRUNCATE TABLE sequence_creditmemo_6;
TRUNCATE TABLE sequence_invoice_0;
TRUNCATE TABLE sequence_invoice_1;
TRUNCATE TABLE sequence_invoice_2;
TRUNCATE TABLE sequence_invoice_3;
TRUNCATE TABLE sequence_invoice_4;
TRUNCATE TABLE sequence_invoice_5;
TRUNCATE TABLE sequence_invoice_6;
TRUNCATE TABLE sequence_order_0;
TRUNCATE TABLE sequence_order_1;
TRUNCATE TABLE sequence_order_2;
TRUNCATE TABLE sequence_order_3;
TRUNCATE TABLE sequence_order_4;
TRUNCATE TABLE sequence_order_5;
TRUNCATE TABLE sequence_order_6;
TRUNCATE TABLE sequence_rma_item_0;
TRUNCATE TABLE sequence_rma_item_1;
TRUNCATE TABLE sequence_rma_item_2;
TRUNCATE TABLE sequence_rma_item_3;
TRUNCATE TABLE sequence_rma_item_4;
TRUNCATE TABLE sequence_rma_item_5;
TRUNCATE TABLE sequence_rma_item_6;
TRUNCATE TABLE sequence_shipment_0;
TRUNCATE TABLE sequence_shipment_1;
TRUNCATE TABLE sequence_shipment_2;
TRUNCATE TABLE sequence_shipment_3;
TRUNCATE TABLE sequence_shipment_4;
TRUNCATE TABLE sequence_shipment_5;
TRUNCATE TABLE sequence_shipment_6;
TRUNCATE TABLE session;

TRUNCATE TABLE shipping_tablerate;
TRUNCATE TABLE signifyd_case;
TRUNCATE TABLE sitemap;

TRUNCATE TABLE temando_checkout_address;
TRUNCATE TABLE temando_collection_point_search;
TRUNCATE TABLE temando_order;
TRUNCATE TABLE temando_order_collection_point;
TRUNCATE TABLE temando_order_pickup_location;
TRUNCATE TABLE temando_pickup_location_search;
TRUNCATE TABLE temando_quote_collection_point;
TRUNCATE TABLE temando_quote_pickup_location;
TRUNCATE TABLE temando_shipment;

TRUNCATE TABLE translation;
TRUNCATE TABLE ui_bookmark;
TRUNCATE TABLE url_rewrite;
TRUNCATE TABLE variable;
TRUNCATE TABLE variable_value;
TRUNCATE TABLE vault_payment_token;
TRUNCATE TABLE vault_payment_token_order_payment_link;
TRUNCATE TABLE vertex_customer_code;
TRUNCATE TABLE vertex_invoice_sent;
TRUNCATE TABLE vertex_order_invoice_status;
TRUNCATE TABLE vertex_sales_creditmemo_item_invoice_text_code;
TRUNCATE TABLE vertex_sales_creditmemo_item_tax_code;
TRUNCATE TABLE vertex_sales_creditmemo_item_vertex_tax_code;
TRUNCATE TABLE vertex_sales_order_item_invoice_text_code;
TRUNCATE TABLE vertex_sales_order_item_tax_code;
TRUNCATE TABLE vertex_sales_order_item_vertex_tax_code;
TRUNCATE TABLE vertex_taxrequest;
TRUNCATE TABLE weee_tax;
TRUNCATE TABLE weltpixel_license;

TRUNCATE TABLE wishlist;
TRUNCATE TABLE wishlist_item;
TRUNCATE TABLE wishlist_item_option;

INSERT INTO `catalog_category_entity_int` VALUES (1,69,0,1,1),(2,46,0,2,1),(3,69,0,2,1);

INSERT INTO `catalog_category_entity_varchar` VALUES (1,45,0,1,'Root Catalog'),(2,45,0,2,'Default Category'),(3,52,0,2,'PRODUCTS');

INSERT INTO `catalog_category_flat_store_1` VALUES (1,3,0,'2019-03-21 13:47:33','2019-03-21 13:47:33','1',0,0,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,'Root Catalog',NULL,NULL,NULL,NULL),(2,3,1,'2019-03-21 13:47:33','2019-03-21 13:47:33','1/2',1,1,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PRODUCTS',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,'Default Category',NULL,NULL,NULL,NULL);
INSERT INTO `catalog_category_flat_store_2` VALUES (1,3,0,'2019-03-21 13:47:33','2019-03-21 13:47:33','1',0,0,1,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,'Root Catalog',NULL,NULL,NULL,NULL),(2,3,1,'2019-03-21 13:47:33','2019-03-21 13:47:33','1/2',1,1,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PRODUCTS',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,'Default Category',NULL,NULL,NULL,NULL);
INSERT INTO `catalog_category_flat_store_3` VALUES (1,3,0,'2019-03-21 13:47:33','2019-03-21 13:47:33','1',0,0,1,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,'Root Catalog',NULL,NULL,NULL,NULL),(2,3,1,'2019-03-21 13:47:33','2019-03-21 13:47:33','1/2',1,1,0,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PRODUCTS',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,'Default Category',NULL,NULL,NULL,NULL);
INSERT INTO `catalog_category_flat_store_4` VALUES (1,3,0,'2019-03-21 13:47:33','2019-03-21 13:47:33','1',0,0,1,4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,'Root Catalog',NULL,NULL,NULL,NULL),(2,3,1,'2019-03-21 13:47:33','2019-03-21 13:47:33','1/2',1,1,0,4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PRODUCTS',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,'Default Category',NULL,NULL,NULL,NULL);
INSERT INTO `catalog_category_flat_store_5` VALUES (1,3,0,'2019-03-21 13:47:33','2019-03-21 13:47:33','1',0,0,1,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,'Root Catalog',NULL,NULL,NULL,NULL),(2,3,1,'2019-03-21 13:47:33','2019-03-21 13:47:33','1/2',1,1,0,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PRODUCTS',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,'Default Category',NULL,NULL,NULL,NULL);
INSERT INTO `catalog_category_flat_store_6` VALUES (1,3,0,'2019-03-21 13:47:33','2019-03-21 13:47:33','1',0,0,1,6,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,'Root Catalog',NULL,NULL,NULL,NULL),(2,3,1,'2019-03-21 13:47:33','2019-03-21 13:47:33','1/2',1,1,0,6,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PRODUCTS',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,'Default Category',NULL,NULL,NULL,NULL);

INSERT INTO `cataloginventory_stock` VALUES (1,0,'Default');

INSERT INTO `customer_form_attribute` VALUES ('adminhtml_checkout',9),('adminhtml_checkout',10),('adminhtml_checkout',11),('adminhtml_checkout',17),('adminhtml_checkout',20),('adminhtml_customer',1),('adminhtml_customer',3),('adminhtml_customer',4),('adminhtml_customer',5),('adminhtml_customer',6),('adminhtml_customer',7),('adminhtml_customer',8),('adminhtml_customer',9),('adminhtml_customer',10),('adminhtml_customer',11),('adminhtml_customer',17),('adminhtml_customer',19),('adminhtml_customer',20),('adminhtml_customer',21),('adminhtml_customer_address',22),('adminhtml_customer_address',23),('adminhtml_customer_address',24),('adminhtml_customer_address',25),('adminhtml_customer_address',26),('adminhtml_customer_address',27),('adminhtml_customer_address',28),('adminhtml_customer_address',29),('adminhtml_customer_address',30),('adminhtml_customer_address',31),('adminhtml_customer_address',32),('adminhtml_customer_address',33),('adminhtml_customer_address',34),('adminhtml_customer_address',35),('adminhtml_customer_address',36),('customer_account_create',4),('customer_account_create',5),('customer_account_create',6),('customer_account_create',7),('customer_account_create',8),('customer_account_create',9),('customer_account_create',11),('customer_account_create',17),('customer_account_create',19),('customer_account_create',20),('customer_account_edit',4),('customer_account_edit',5),('customer_account_edit',6),('customer_account_edit',7),('customer_account_edit',8),('customer_account_edit',9),('customer_account_edit',11),('customer_account_edit',17),('customer_account_edit',19),('customer_account_edit',20),('customer_address_edit',22),('customer_address_edit',23),('customer_address_edit',24),('customer_address_edit',25),('customer_address_edit',26),('customer_address_edit',27),('customer_address_edit',28),('customer_address_edit',29),('customer_address_edit',30),('customer_address_edit',31),('customer_address_edit',32),('customer_address_edit',33),('customer_address_edit',34),('customer_address_edit',35),('customer_address_edit',36),('customer_register_address',22),('customer_register_address',23),('customer_register_address',24),('customer_register_address',25),('customer_register_address',26),('customer_register_address',27),('customer_register_address',28),('customer_register_address',29),('customer_register_address',30),('customer_register_address',31),('customer_register_address',32),('customer_register_address',33),('customer_register_address',34),('customer_register_address',35),('customer_register_address',36);
INSERT INTO `customer_group` VALUES (0,'NOT LOGGED IN',3),(1,'General',3),(2,'Wholesale',3),(3,'Retailer',3);

INSERT INTO `flag` VALUES (1,'analytics_link_attempts_reverse_counter',0,'24','2019-03-21 13:48:33');
INSERT INTO `indexer_state` VALUES (1,'design_config_grid','valid','2019-03-21 13:47:10','34ec592bfa6c952bed4d0a1d58c98770'),(2,'customer_grid','valid','2019-03-21 13:47:10','b9632e06cf957d6e8103eb236ca38cc1'),(3,'catalog_category_product','valid','2019-03-21 14:21:32','2124d5bfcd83b609c67eee94a0e4708c'),(4,'catalog_product_category','valid','2019-03-21 14:21:32','77b6356629f3259568a68ea64c773238'),(5,'catalogrule_rule','valid','2019-03-21 14:21:52','c4f8344a2e6a7d8ebc065631454a4724'),(6,'catalog_product_attribute','valid','2019-03-21 14:22:07','f73cae77ec4dee3b587a60a2f38dd26a'),(7,'cataloginventory_stock','valid','2019-03-21 14:22:14','1bf66e64558a5171e523b32f25cb99ca'),(8,'catalog_product_price','valid','2019-03-21 14:22:22','cbab4723efb02ca24e1db167ef1dfd13'),(9,'catalogrule_product','valid','2019-03-21 14:22:23','667205576ee3764b1ee81c4a076d10ae'),(10,'catalogsearch_fulltext','valid','2019-03-21 13:48:46','cc2d2701487ee835df4e72b15254852b');
INSERT INTO `rating` VALUES (1,1,'Quality',0,1),(2,1,'Value',0,1),(3,1,'Price',0,1);
INSERT INTO `rating_option` VALUES (1,1,'1',1,1),(2,1,'2',2,2),(3,1,'3',3,3),(4,1,'4',4,4),(5,1,'5',5,5),(6,2,'1',1,1),(7,2,'2',2,2),(8,2,'3',3,3),(9,2,'4',4,4),(10,2,'5',5,5),(11,3,'1',1,1),(12,3,'2',2,2),(13,3,'3',3,3),(14,3,'4',4,4),(15,3,'5',5,5);
INSERT INTO `report_event_types` VALUES (1,'catalog_product_view',0),(2,'sendfriend_product',0),(3,'catalog_product_compare_add_product',0),(4,'checkout_cart_add_product',0),(5,'wishlist_add_product',0),(6,'wishlist_share',0);
INSERT INTO `sales_order_status` VALUES ('canceled','Canceled'),('closed','Closed'),('complete','Complete'),('fraud','Suspected Fraud'),('holded','On Hold'),('payment_review','Payment Review'),('paypal_canceled_reversal','PayPal Canceled Reversal'),('paypal_reversed','PayPal Reversed'),('pending','Pending'),('pending_payment','Pending Payment'),('pending_paypal','Pending PayPal'),('processing','Processing');
INSERT INTO `sales_order_status_state` VALUES ('canceled','canceled',1,1),('closed','closed',1,1),('complete','complete',1,1),('fraud','payment_review',0,1),('fraud','processing',0,1),('holded','holded',1,1),('payment_review','payment_review',1,1),('pending','new',1,1),('pending_payment','pending_payment',1,0),('processing','processing',1,1);
INSERT INTO `sales_sequence_meta` VALUES (1,'order',0,'sequence_order_0'),(2,'invoice',0,'sequence_invoice_0'),(3,'creditmemo',0,'sequence_creditmemo_0'),(4,'shipment',0,'sequence_shipment_0'),(5,'order',1,'sequence_order_1'),(6,'invoice',1,'sequence_invoice_1'),(7,'creditmemo',1,'sequence_creditmemo_1'),(8,'shipment',1,'sequence_shipment_1');
INSERT INTO `sales_sequence_profile` VALUES (1,1,NULL,NULL,1,1,4294967295,4294966295,1),(2,2,NULL,NULL,1,1,4294967295,4294966295,1),(3,3,NULL,NULL,1,1,4294967295,4294966295,1),(4,4,NULL,NULL,1,1,4294967295,4294966295,1),(5,5,NULL,NULL,1,1,4294967295,4294966295,1),(6,6,NULL,NULL,1,1,4294967295,4294966295,1),(7,7,NULL,NULL,1,1,4294967295,4294966295,1),(8,8,NULL,NULL,1,1,4294967295,4294966295,1);
INSERT INTO `sequence_creditmemo_2` VALUES (204);
INSERT INTO `sequence_creditmemo_3` VALUES (204);
INSERT INTO `sequence_creditmemo_4` VALUES (204);
INSERT INTO `sequence_creditmemo_5` VALUES (204);
INSERT INTO `sequence_creditmemo_6` VALUES (204);
INSERT INTO `sequence_invoice_2` VALUES (9572);
INSERT INTO `sequence_invoice_3` VALUES (9572);
INSERT INTO `sequence_invoice_4` VALUES (9572);
INSERT INTO `sequence_invoice_5` VALUES (9572);
INSERT INTO `sequence_invoice_6` VALUES (9572);
INSERT INTO `sequence_order_2` VALUES (12426);
INSERT INTO `sequence_order_3` VALUES (12426);
INSERT INTO `sequence_order_4` VALUES (12426);
INSERT INTO `sequence_order_5` VALUES (12426);
INSERT INTO `sequence_order_6` VALUES (12426);
INSERT INTO `sequence_shipment_2` VALUES (15);
INSERT INTO `sequence_shipment_3` VALUES (15);
INSERT INTO `sequence_shipment_4` VALUES (15);
INSERT INTO `sequence_shipment_5` VALUES (15);
INSERT INTO `sequence_shipment_6` VALUES (15);

SET FOREIGN_KEY_CHECKS = 1;

Ach ja: Bitte nicht ohne Backup arbeiten! Backups können Leben retten und falls der Versuch scheitert, die Daten auf diesem Wege zu übertragen, wäre es denkbar schlecht, wenn Ihr dann plötzlich ohne Daten seid.

Mein Dank geht an Sandor Czettner, der mir mit seinem Blogeintrag wirklich viel Zeit gespart hat.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.