Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bestellungen & Kunden importieren von 1.06 rev 4642 SP2 nach 2.0.1.0 rev 10403

    ff-webdesigner

    • Neu im Forum
    • Beiträge: 18
    Hallo beisammen,

    ich befürchte nach dem update von v1.06 rev 4642 SP2 auf v2.0.1.0 rev 10403 kann ich zum abgleich der kunden/bestellungen mit dem laufenden alten shop wegen der db-struktur-updates nicht einfach tabellen in den neuen shop kopieren, oder? was genau muss ich an anpassungen durchführen und welche tabellen brauche ich denn?

    danke!

    Linkback: https://www.modified-shop.org/forum/index.php?topic=36160.0

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Die notwendigen Anpassungen sind vollständig in den Scripts unter _installer/update enthalten.

    Welche Tabellen Du brauchst, hängt von Deinem Anwendungsfall ab.

    Ich frage mich nur, warum Du keine vollständige Migration durchführst. Alles andere ist Stückwerk.

    modse

    • Mitglied
    • Beiträge: 124
    Gibt es für den Anfänger auch eine Beschreibung wie man die Datenbank der Kunden, inkl. deren Lieferadressen etc. aus modified 1.6 in den modified Shop 2.0 bekommt?

    Wäre sehr hilfreich da wir nicht alle Profis sind, leider... :thx:

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Auch von einem Anfänger darf ein gewisses Maß an Eigeninitiative erwartet werden. ;)

    Minimum sind die Tabellen customers, customers_info und address_book. Wie die alten Strukturen geändert werden müssen, steht in den o.a. update-Scripts.

    ff-webdesigner

    • Neu im Forum
    • Beiträge: 18
    also ich denke für alle kunden und bestellungen braucht man alle folgenden tabellen:

    address_book
    customers
    customers_basket
    customers_basket_attributes
    customers_info
    customers_ip
    customers_login
    customers_memo
    customers_status
    customers_status_history
    orders
    orders_products
    orders_products_attributes
    orders_products_download
    orders_recalculate
    orders_status
    orders_status_history
    orders_total
    orders_tracking
    shipping_status

    liege ich damit korrekt? kann man was weglassen? fehlt da noch was?

    ff-webdesigner

    • Neu im Forum
    • Beiträge: 18
    ausführen müsste man dann folgende sql befehle, oder?

    Code: SQL  [Auswählen]
    ### Subsequent bugfixes FOR update_1.0.6.0_to_2.0.0.0.sql
    ALTER TABLE orders_status MODIFY orders_status_name VARCHAR(64) NOT NULL;

    #GTB - 2015-01-09 - ADD NEW INDEX ON orders
    ALTER TABLE orders ADD INDEX idx_orders_status (orders_status);

    #GTB - 2015-01-13 - remove cc modules
    ALTER TABLE orders DROP cc_type;
    ALTER TABLE orders DROP cc_owner;
    ALTER TABLE orders DROP cc_number;
    ALTER TABLE orders DROP cc_expires;
    ALTER TABLE orders DROP cc_start;
    ALTER TABLE orders DROP cc_issue;
    ALTER TABLE orders DROP cc_cvv;

    #GTB - 2015-01-19 - CHANGE country
    ALTER TABLE orders MODIFY customers_country VARCHAR(64) NOT NULL;
    ALTER TABLE orders MODIFY delivery_country VARCHAR(64) NOT NULL;
    ALTER TABLE orders MODIFY billing_country VARCHAR(64) NOT NULL;

    #GTB - 2015-02-05 - sort_order
    ALTER TABLE orders_status ADD sort_order INT(11) DEFAULT 0 NOT NULL;
    ALTER TABLE shipping_status ADD sort_order INT(11) DEFAULT 0 NOT NULL;

    #GTB - 2015-02-12 - ADD INDEX
    ALTER TABLE customers_status DROP INDEX idx_orders_status_name;
    ALTER TABLE customers_status ADD UNIQUE idx_customers_status_name (customers_status_name, language_id);
    ALTER TABLE customers ADD KEY idx_customers_email_address (customers_email_address);
    ALTER TABLE customers_ip DROP INDEX customers_id;
    ALTER TABLE customers_ip ADD KEY idx_customers_id (customers_id);
    ALTER TABLE orders_products_attributes ADD KEY idx_orders_id (orders_id);
    ALTER TABLE orders_products_attributes ADD KEY idx_orders_products_id (orders_products_id);
    ALTER TABLE orders_products_download ADD KEY idx_orders_id (orders_id);
    ALTER TABLE orders_products_download ADD KEY idx_orders_products_id (orders_products_id);
    ALTER TABLE orders_total DROP INDEX idx_orders_total_orders_id;
    ALTER TABLE orders_total ADD KEY idx_orders_id (orders_id);
    ALTER TABLE address_book DROP INDEX idx_address_book_customers_id;
    ALTER TABLE address_book ADD KEY idx_customers_id (customers_id);

    #Tomcraft - 2015-02-16 - Added STATUS FOR cancelled orders
    #(SET NEXT available NUMBER FOR STATUS ID IN BOTH languages)
    INSERT INTO orders_status (orders_status_id, language_id, orders_status_name)
      SELECT MAX(orders_status_id)+1, 1, 'Reversed' FROM orders_status;
    INSERT INTO orders_status (orders_status_id, language_id, orders_status_name)
      SELECT MAX(orders_status_id)+1, 2, 'Storniert' FROM orders_status;

    #GTB - 2015-03-12 - brute force login
    ALTER TABLE customers ADD password_request_time DATETIME DEFAULT '0000-00-00 00:00:00' AFTER password_request_key;
    ALTER TABLE customers ADD customers_login_tries INT(11) NOT NULL DEFAULT '0';
    ALTER TABLE customers ADD customers_login_time DATETIME DEFAULT '0000-00-00 00:00:00';

    #GTB - 2015-05-18 - CHANGE customers_basket_date_added
    ALTER TABLE customers_basket MODIFY customers_basket_date_added DATETIME;

    #GTB - 2016-01-20 - added orders products ean/model
    ALTER TABLE orders_products ADD products_ean VARCHAR(128) AFTER products_model;
    ALTER TABLE orders_products ADD products_price_origin DECIMAL(15,4) NOT NULL AFTER products_price;
    ALTER TABLE orders_products_attributes ADD attributes_model VARCHAR(64) AFTER products_options_values;
    ALTER TABLE orders_products_attributes ADD attributes_ean VARCHAR(128) AFTER attributes_model;

    #GTB - 2016-02-24 - added customers_status_specials
    ALTER TABLE customers_status ADD customers_status_specials INT(1) NOT NULL DEFAULT 1 AFTER customers_status_read_reviews;

    # -----------------------------------------------------------------------------------------
    #  $Id: update_2.0.0.0_to_2.0.1.0.sql 10267 2016-08-22 17:51:32Z Tomcraft $
    #
    #  modified eCommerce Shopsoftware
    #  http://www.modified-shop.org
    #
    #  Copyright (c) 2009 - 2013 [www.modified-shop.org]
    #  -----------------------------------------------------------------------------------------

    #GTB - 2016-05-04 - ADD date_added FOR orders_tracking
    ALTER TABLE orders_tracking ADD date_added DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER parcel_id;
    INSERT INTO `carriers` (`carrier_name`, `carrier_tracking_link`, `carrier_sort_order`, `carrier_date_added`) VALUES ('POST', 'https://www.deutschepost.de/sendung/simpleQueryResult.html?form.sendungsnummer=$1&form.einlieferungsdatum_tag=$3&form.einlieferungsdatum_monat=$4&form.einlieferungsdatum_jahr=$5', 120, NOW());

    #GTB - 2016-06-17 - extend reviews FOR STATUS
    ALTER TABLE customers_status ADD customers_status_reviews_status INT(1) NOT NULL DEFAULT 1 AFTER customers_status_read_reviews;
    ALTER TABLE reviews ADD reviews_status INT(1) NOT NULL DEFAULT 1 AFTER reviews_read;

    #GTB - 2016-07-15 - NEW brute force method
    ALTER TABLE customers MODIFY customers_email_address VARCHAR(255) NOT NULL;
    ALTER TABLE customers DROP customers_login_tries;
    ALTER TABLE customers DROP customers_login_time;
    ALTER TABLE customers_ip MODIFY customers_ip VARCHAR(50) NOT NULL DEFAULT '';
    DROP TABLE IF EXISTS customers_login;
    CREATE TABLE customers_login (
      customers_ip VARCHAR(50) DEFAULT NULL,
      customers_email_address VARCHAR(255) DEFAULT NULL,
      customers_login_tries INT(11) NOT NULL,
      KEY idx_customers_ip (customers_ip),
      KEY idx_customers_email_address (customers_email_address)
    ) ENGINE=MyISAM;
    ALTER TABLE orders MODIFY customers_email_address VARCHAR(255) NOT NULL;
    ALTER TABLE orders MODIFY customers_ip VARCHAR(50) NOT NULL;

    #GTB - 2016-07-20 - CHANGE name LENGTH
    ALTER TABLE orders MODIFY customers_name VARCHAR(128) NOT NULL;
    ALTER TABLE orders MODIFY delivery_name VARCHAR(128) NOT NULL;
    ALTER TABLE orders MODIFY billing_name VARCHAR(128) NOT NULL;

    ff-webdesigner

    • Neu im Forum
    • Beiträge: 18
    ach ja und @shopnix: klar wär mir clean install/spiegeln und updaten lieber. aber modifikationen entwickeln, neues template, probleme mit captcha = müssen nochmal kundendaten/bestellungen von mehreren wochen reinholen.

    web28

    • modified Team
    • Beiträge: 9.404
    Auch wenn man nur einen Teil einer alten DB importiert muss man danach mit dem Installer die notwendigen SQL Updates und das DB Strukturupdate ausführen.

    Tipp:
    Beim mySQLDumper kann sehr schön sehen wann eine DB Tabelle zuletzt geändert wurde.
    Es reicht dann nur DB Tabellen auszuwählen, die sich nach der ersten Migration auch geändert haben.
    Und davon auch nur die Gewünschten.

    Gruss Web28

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    ach ja und @shopnix: klar wär mir clean install/spiegeln und updaten lieber. aber modifikationen entwickeln, neues template, probleme mit captcha = müssen nochmal kundendaten/bestellungen von mehreren wochen reinholen.

    Auch das ist viel einfacher, wenn Du auf beiden Datenbanken die gleiche Struktur hast. Dann reicht nämlich als Beispiel für Kunden und zwei Datenbanken auf dem gleichen Server:

    Code: SQL  [Auswählen]
    INSERT IGNORE INTO neueDB.customers SELECT * FROM alteDB.customers

    Das "ignore" bewirkt, das ein doppelter Eintrag auf dem Primärschlüssel ignoriert wird. Sollte allerdings ein alter Kunde seinen Stammsatz verändert haben, verlierst Du die Änderung.

    ff-webdesigner

    • Neu im Forum
    • Beiträge: 18
    update. mit obiger methode hauen bestellungen nicht hin.
    customers so zu importieren funktioniert.

    ff-webdesigner

    • Neu im Forum
    • Beiträge: 18
    bestellungen kriegt man am besten rein durch folgenden dreh:
    im neuen shop alle relevanten tabellen orders (s.oben) kopieren nach *_alt
    in orders alle oben genannten spalten mit cc_ = kredikarte anlegen.
    dann in die originaltabellen importieren.
    danach wieder alle spalten mit cc_ in orders löschen.
    fertsch!
               
    anything