Magento upgrade zu lange dauert und nie abgeschlossen ist
Ich bin ein Upgrade von magento 1.4.0.1 auf 1.7.0.2. Anfangs waren es einige Fehler; nach Festsetzung dieser, jetzt das upgrade läuft für 5 Stunden und nie abgeschlossen ist. Es wird kein Fehler angezeigt. Keine Ahnung warum es passiert ist?
- Welche Methode verwenden Sie, um update? Die beste Methode ist imho, um zu ersetzen Sie alle Dateien mit der neuesten Magento, führen Sie das setup-Skript erneut und dann re-installieren Sie die Erweiterungen (in der admin, oder vorzugsweise mit version control).
- Ich bin mit der manuellen Methode. hinzufügen von alten Dateien in neue magneto, importieren der alten Datenbank in die neue db und dann führen Sie die Anwendung und versuchen, die Probleme lösen. Gibt es einen Unterschied zwischen dieser und deiner Methode?
- In der Methode, die Sie erwähnt, wenn die neue version installiert ist, wird es die neue Datenbank und somit alte Datensätze (Auftrag, Rechnung, Kunde) werden fehlen.
- Ich denke, unsere Methoden sind die gleichen. Ich benutze das alte db mit meiner Methode. Sie könnten versuchen, ein upgrade von magento mit kleinen Schritte version. Jede version, verschiedene Abfragen zum aktualisieren der db. Mit Schritt für Schritt aktualisieren, finden Sie, welche version verursacht die Schwierigkeiten. Viel Glück.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich vor kurzem aktualisiert ein Kunden von magento V1.4 zu V1.7.2.0 und ich folgte diesen Schritten:-
Im folgenden werden die wichtigsten Punkte, um ein upgrade der website von Magento v1.4.0.0 zu v1.7.2.0:-
Sammeln Sie die live-Datenbank-backup in ein Zip-format, ohne die folgenden Tabellen:-
"log_visitor_online"
Entpacken Sie die Zip-backup-Datenbank, in der Sie Ihre eigenen Dateisystem, in einem Ordner.
Starten Sie den lokalen WAMP /XAMPP, und erstellen Sie eine test-Datenbank "test_something" oder irgendwelche anderen Namen, mit der web-app "phpMyAdmin".
Öffnen Sie das Fenster Eingabeaufforderung und geben Sie "mysql" starten Sie den MySQL-Eingabeaufforderung.
Import der entpackten Datenbank in die test-Datenbank, über die Eingabeaufforderung, so dass es viel schneller sein ohne Fehler.
Nach dem erfolgreichen importieren, führen Sie die SQL-erwähnt in der Datei "DB Changes.txt" von phpMyAdmin.
Extrakt einer frischen Magento v1.7.2.0 in lokalen WAMP /XAMPP, und starten Sie die Installation dieser Magento mit dem test-Datenbank mit dem alten livesite Daten.
Nach erfolgreicher Magento-installation, export & sichern Sie die neue aktualisierte Datenbank in ein Zip-format mit Eingabeaufforderung, so dass es viel schneller sein ohne Fehler.
Extrakt ein frisches Zip Magento Shop oder laden eines frisch entpackten Magento v1.7.2.0 in den live-server Dateisystem, ohne etwas installieren zu müssen.
Upload dieses Zip-Datenbank in die live-server Dateisystem, und öffnen Sie dann den Kitt für die live-server.
Laden Sie eine Kopie von "app/etc/local.xml" Magento-Datei des lokalen WAMP /XAMPP, an die Stelle der live-Magento "app/etc/local.xml" Datei. Denken Sie daran alle änderungen der DB-Anmeldeinformationen dieser Datei, wie pro die neue live-server vor dem hochladen auf den live-server.
Denken Sie daran, nicht zu durchsuchen, die Magento von der web-browser für das live-web-server, bis zu dem Punkt #14 abgeschlossen wird.
PuTTY Befehle, entpacken Sie die Zip-Datenbank, und importieren Sie Sie dann in die neue Datenbank von der live-website.
Nach dem erfolgreichen importieren, Suche "core_config_data" Datenbank-Tabelle mit dem "path" - Spalte mit dem Wert "%base_url%". Ersetzen Sie alle Werte der Spalte "Wert" mit der vollständigen URL der Website Leben "http://www.livesite.com/", ohne jede Erwähnung von "index.php".
Hochladen, die das Thema und die zugehörigen Dateien auf den neuen server die Datei system.
Laden Sie die Erweiterung/Modul überprüfen die Kompatibilität.
Konfigurieren Sie die erforderlichen Module in der System-Konfiguration in der Admin-panel.
DB Changes.txt sind wie folgt:-
CREATE TABLE IF NOT EXISTS
log_customer
(log_id
int(10) unsigned not NULL AUTO_INCREMENT,visitor_id
bigint(20) unsigned DEFAULT NULL,customer_id
int(11) not NULL DEFAULT '0',login_at
datetime not NULL DEFAULT '0000-00-00 00:00:00',logout_at
datetime DEFAULT NULL,store_id
smallint(5) unsigned not NULL,PRIMARY KEY (
log_id
),SCHLÜSSEL
IDX_VISITOR
(visitor_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Kunden-log-Informationen';
--
-- Tabellenstruktur für Tabelle
log_quote
CREATE TABLE IF NOT EXISTS
log_quote
(quote_id
int(10) unsigned not NULL DEFAULT '0',visitor_id
bigint(20) unsigned DEFAULT NULL,created_at
datetime not NULL DEFAULT '0000-00-00 00:00:00',deleted_at
datetime DEFAULT NULL,PRIMARY KEY (
quote_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Quote log-Daten';
--
-- Tabellenstruktur für Tabelle
log_summary
CREATE TABLE IF NOT EXISTS
log_summary
(summary_id
bigint(20) unsigned not NULL AUTO_INCREMENT,store_id
smallint(5) unsigned not NULL,type_id
smallint(5) unsigned DEFAULT NULL,visitor_count
int(11) not NULL DEFAULT '0',customer_count
int(11) not NULL DEFAULT '0',add_date
datetime not NULL DEFAULT '0000-00-00 00:00:00',PRIMARY KEY (
summary_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Zusammenfassung von log-Informationen';
--
-- Tabellenstruktur für Tabelle
log_url
CREATE TABLE IF NOT EXISTS
log_url
(url_id
bigint(20) unsigned not NULL DEFAULT '0',visitor_id
bigint(20) unsigned DEFAULT NULL,visit_time
datetime not NULL DEFAULT '0000-00-00 00:00:00',PRIMARY KEY (
url_id
),SCHLÜSSEL
IDX_VISITOR
(visitor_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='URL besuchen Geschichte';
--
-- Tabellenstruktur für Tabelle
log_url_info
CREATE TABLE IF NOT EXISTS
log_url_info
(url_id
bigint(20) unsigned not NULL AUTO_INCREMENT,url
varchar(255) not NULL DEFAULT ",referer
varchar(255) DEFAULT NULL,PRIMARY KEY (
url_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Detale Informationen über url-Besuche';
--
-- Tabellenstruktur für Tabelle
log_visitor
CREATE TABLE IF NOT EXISTS
log_visitor
(visitor_id
bigint(20) unsigned not NULL AUTO_INCREMENT,session_id
char(64) not NULL DEFAULT ",first_visit_at
datetime DEFAULT NULL,last_visit_at
datetime not NULL DEFAULT '0000-00-00 00:00:00',last_url_id
bigint(20) unsigned not NULL DEFAULT '0',store_id
smallint(5) unsigned not NULL,PRIMARY KEY (
visitor_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='System-Besucher-log';
--
-- Tabellenstruktur für Tabelle
log_visitor_info
CREATE TABLE IF NOT EXISTS
log_visitor_info
(visitor_id
bigint(20) unsigned not NULL DEFAULT '0',http_referer
varchar(255) DEFAULT NULL,http_user_agent
varchar(255) DEFAULT NULL,http_accept_charset
varchar(255) DEFAULT NULL,http_accept_language
varchar(255) DEFAULT NULL,server_addr
bigint(20) DEFAULT NULL,remote_addr
bigint(20) DEFAULT NULL,PRIMARY KEY (
visitor_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Zusätzliche Informationen für Besucher';
--
-- Tabellenstruktur für Tabelle
log_visitor_online
CREATE TABLE IF NOT EXISTS
log_visitor_online
(visitor_id
bigint(20) unsigned not NULL AUTO_INCREMENT,visitor_type
char(1) not NULL,remote_addr
bigint(20) not NULL,first_visit_at
datetime DEFAULT NULL,last_visit_at
datetime DEFAULT NULL,customer_id
int(10) unsigned DEFAULT NULL,last_url
varchar(255) DEFAULT NULL,PRIMARY KEY (
visitor_id
),SCHLÜSSEL
IDX_VISITOR_TYPE
(visitor_type
),SCHLÜSSEL
IDX_VISIT_TIME
(first_visit_at
,last_visit_at
),SCHLÜSSEL
IDX_CUSTOMER
(customer_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ABSCHNEIDEN
report_event
;ABSCHNEIDEN
report_viewed_product_index
;ABSCHNEIDEN
report_compared_product_index
;ABSCHNEIDEN
dataflow_batch_export
;ALTER TABLE
orders
ÄNDERNurl
parent_id
VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;Ich Auf der query Protokollierung ändern Sie die folgenden Zeilen in lib\Varien\Db\Adapter\Pdo\Mysql.php Datei
Dann analysiert die pdo_myql.melden Sie - Datei kam ich zu wissen, dass eine Abfrage ausgeführt wird, mit der Fehler und damit der magento-installer, führen Sie es wieder und wieder.
Fehler war.
So, ich Lösch den Eintrag in der Datenbank-Tabelle und in pdo_mysql.melden Sie jetzt andere Abfragen anzeigt und die up-abstufung abgeschlossen ist.
Arbeiten viele Tage auf magento upgrade, ich bin der Zusammenfassung der Schritte zum erfolgreichen Upgrade von magento 1.4.0.1 auf 1.7.0.2. Diese Fehler angezeigt wird anders sein für andere Projekte, denn jedes Projekt haben unterschiedliche Daten.
Erstellen Sie eine frische Datenbank für die neue version. (Ich bin mit
SQLyog, weil es gut ist für die grosse Datenbank Import und Export).
Extrahieren und Installieren neue version 1.7.0.1 in www oder htdocs.
Mein Projekt name ist magento171.
Erstellen neue Datenbank, denn wir müssen die frische db in Reparatur Schritt.
Importieren Sie die alte Datenbank Daten in die neue Datenbank.
Ändern Sie die neue Datenbank Namen in etc/local.xml in neue installierte version von magento.
In etc/local.xml finden und ändern SET NAMES utf8 zu SET NAMES utf8; SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0; .
Kopieren alte Projekt-Datei in der neuen version von magento. Ich habe das Thema in
leere Ordner. Kopieren Sie Standard, wenn Sie template-Dateien in Standard -
Ordner.
• app\design\frontend\default\leer
• app\code\local
• Haut\frontend\default/blank
• app\etc\modules (kopieren Sie die Dateien, die nicht in der neuen version).
Auf die MySql-Abfragen protokollieren, indem Sie die folgenden Zeilen in
lib\Varien\Db\Adapter\Pdo\ Mysql.php
Suchen und ändern
CREATE TABLE zu CREATE TABLE IF not EXISTS In code/core/mage/.
Ändern Sie die folgenden Einträge in der Tabelle core_config_data (verwenden Sie Ihre
Projekt-Ordner-Namen).
Umbenennen /errors/local.xml.Beispiel zu /errors/local.xml zu aktivieren error_reporting .
Deaktivieren Sie die magento-cache löschen Sie alle Daten in var\cache.
Gehen Sie zu browser, und geben Sie Ihr Projekt Pfad.
http://localhost/magento171/ und halten Sie die Augen auf den browser und auf die var/debug/pdo_mysql.melden Sie Datei.
Den ersten Fehler zu mir ist: Fehler in Datei:
"D:\xampp\htdocs\magento171\app\code\core\Mage\Sales\sql\sales_setup\mysql4-upgrade-1.3.99-1.4.0.0.php"
Update: ich fand von pdo_mysql.melden Sie - Datei, das Problem ist in der sales_flat_order Tabelle, was bedeutet, dass viele doppelte Einträge für primary key gibt es, damit ich abschneiden, alle Verkaufstische. Das ist eigentlich der Fehler in meiner alten DB. In der neuen version increment_id ist EINZIGARTIG. Wir können nicht skip primary key überprüft, so dass ich abgeschnitten, alle Tabellen, die bezogen auf den Umsatz aus. Wenn Sie dieselbe Frage, dann abschneiden, alle Tabellen, die bezogen auf die Funktion, wie wenn doppelte Kunden dann abschneiden, alle Kunden-Tabelle oder-wenn im Katalog dann abschneiden Katalog-Tabellen. Aber denken Sie daran abschneiden getan werden sollte, zu der Zeit, wenn der Fehler aufgetreten ist, weil, wenn abgeschnitten, bevor die installation beginnt, wird der installer Sie nicht, Lesen Sie die vorhandenen Daten und schließlich werden Sie vermissen einige Datensätze fehlen wie einige Bestellungen oder Rechnungen.
Die installation dauert zu lange, so dass ich überprüfen Sie die pdo_mysql.melden Sie - Datei und die folgende Fehlermeldung wird die Anzeige wieder und wieder. Fehler: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry "11199-1' für Schlüssel 'UNQ_INCREMENT_ID"
Update:
Also lösche ich den ersten Eintrag in der Tabelle.
Datenbank Rapair Schritt: ist Es notwendig, Reparieren Sie die neue Datenbank mit der frischen Datenbank mit magento-db-Reparatur-tool-1.1 (http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/db-repair-tool). Am Ende des Berichts werden alle Updates.
Nun können Sie einfach shift der website auf den live-server.
Ich denke, dass die umfassende Beschreibung der Magento 1.4 bis 1.7.x Upgrade ist auf diese Weise angeboten, die von turnkey-website:
Bevor Sie mit diesem Teil der Magento-upgrade, es ist wichtig zu sehen, welche version von Magento upgrade-Skripte aktualisieren Sie Ihre Shop. Geben Sie diesen Befehl, um dies zu überprüfen:
Wenn Sie sehen das Ergebnis:
Es bedeutet, dass Ihr Magento-Upgrade auf die version 1.7.0.2. Wenn es nicht das ist was Sie brauchen, können Sie ändern, aktualisieren Kanal "beta", und aktualisieren Sie Ihre Magento zu RC (beta) version.
1 – Geben Sie diesem Befehl ändern Sie die upgrade-Kanal stabil (Sie erinnern sich, "stabil" Kanal aktualisieren Sie Ihre Magento auf die neueste 1.7.x stabile version):
Nachdem dieser den “./mage list-upgrades" Befehl wird Ihnen zeigen, das Ergebnis:
Updates für die community:
2 – Nach dem Kanal Auswahl können Sie ein upgrade Ihres Magento zu Magento 1.7.0.2) mit diesem Befehl:
Wenn “./mage upgrade-all –Kraft" nicht funktionieren, können Sie versuchen, diesen Befehl ausführen:
Sehen Sie Upgrade von Paketen auf Ihrem Bildschirm:
Nun die Aktualisierung abgeschlossen ist, und führen Sie Datenbank aktualisieren, besuchen Sie Ihren Magento-Shop in Ihrem browser, dieser Prozess wird einige Minuten dauern, so geduldig zu sein. Wenn alles korrekt aktualisiert, Sie werden sehen, aktualisierten store in Ihrem browser. Vor der Datenbank-Aktualisierung ist es empfehlenswert, die Zeit zu erhöhen und Speicher-limits der PHP-engine.
Wenn es nicht möglich ist, um Sie zu erhöhen, können Sie versuchen, ausführen von Datenbank-Aktualisierung über SSH, z.B.:
Nachdem die Datenbank-Aktualisierung wird beendet, Sie können überprüfen Sie die version Ihres Shops in der Fußzeile der Magento-administration panel.
Überprüfen Sie Ihre apache-logs. Es klingt aber es ist immer irgendwo gefangen in den upgrade-Prozess. Stellen Sie sicher, dass alle Dateien der neuen version ein backup Ihrer Datenbank, und stellen Sie sicher, dass die Informationen zu Ihrer Datenbankverbindung korrekt ist.
Möglicherweise möchten Sie auch zu überprüfen die Größe Ihrer Datenbank. Wenn Ihre Datenbank ist groß, magento kann sein timing aus.
Wie groß ist der Strom (1.4.0.1) Datenbank? Vor kurzem hatte ich ein upgrade 7GB Datenbank dauerte es ganze Wochenende auf dem lokalen server - der Grund des so langen Prozesses ist, dass die version 1.6 neue Indexer und die Struktur der Datenbank wurde neu erstellen der installation Skripts, die gemeint sind, die entlassen werden, beim erstmaligen laden der code aktualisiert werden droping viele ausländische keys und neue zu erstellen mit einer Menge von Einschränkungen.