Ich möchte Magento aktualisieren. Daher möchte ich zunächst das Live-Produktionssystem in einen Entwicklungsarbeitsbereich übertragen. Ich versuche, die Produktionsdatenbank in eine saubere Datenbank zu importieren. Aber ich kann es nicht richtig importieren. Ich habe verschiedene Optionen ausprobiert: Exportieren über Magento admin, Exportieren über phpMyAdmin mit verschiedenen Einstellungen, einschließlich (und ausschließlich) der Anweisungen unter http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/restoring_a_backup_of_a_magento_database
Ich verwende Magento 1.5.1.0, phpMyAdmin 4.0.8 und die neueste Version von BigDump zum Importieren.
Dies ist der Fehler, den ich nach einer Weile erhalte:
Fehler in der Zeile 8699: ADD CONSTRAINT
FK_CATALOG_CATEGORY_ENTITY_DATETIME_STORE
FOREIGN KEY (store_id
) REFERENCESmage_core_store
(store_id
) ON DELETE CASCADE ON UPDATE CASCADE; Abfrage: ALTER TABLEmage_catalog_category_entity_datetime
ADD CONSTRAINTFK_CATALOG_CATEGORY_ENTITY_DATETIME_ATTRIBUTE
FOREIGN KEY (attribute_id
) LITERATURmage_eav_attribute
(attribute_id
) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINTFK_CATALOG_CATEGORY_ENTITY_DATETIME_ENTITY
FOREIGN KEY (entity_id
) LITERATURmage_catalog_category_entity
(entity_id
) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINTFK_CATALOG_CATEGORY_ENTITY_DATETIME_STORE
FOREIGN KEY (store_id
) LITERATURmage_core_store
(store_id
) ON DELETE CASCADE ON UPDATE CASCADE MySQL: Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden: Eine Fremdschlüsseleinschränkung schlägt fehl (goldenm101_mage4
.#sql-182e_c1d79
, CONSTRAINTFK_CATALOG_CATEGORY_ENTITY_DATETIME_STORE
FOREIGN KEY (store_id
) REFERENCESmage_core_store
(store_id
) ON DELETE CASCADE ON UPDATE CASC) '
Zusätzliche Informationen: Ich habe keinen SSH-Zugriff.
Fehler nach der möglichen Lösung von mageUz:
Fehler in der Zeile 1487637: ADD CONSTRAINT
FK_catalogrule_product_website
FOREIGN KEY (website_id
) REFERENCESmage_core_website
(website_id
) ON DELETE CASCADE ON UPDATE CASCADE; Abfrage: - - ALTER TABLEmage_catalogrule_product
ADD CONSTRAINTFK_catalogrule_product_customergroup
FOREIGN KEY (customer_group_id
) LITERATURmage_customer_group
(customer_group_id
) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINTFK_CATALOGRULE_PRODUCT_PRODUCT
FOREIGN KEY (product_id
) LITERATURmage_catalog_product_entity
(entity_id
) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINTFK_catalogrule_product_rule
FOREIGN KEY (rule_id
) LITERATURmage_catalogrule
(rule_id
) ON CASCADE BEI UPDATE CASCADE LÖSCHEN, CONSTRAINTFK_catalogrule_product_website
FOREIGN KEY (website_id
) HINZUFÜGEN REFERENZENmage_core_website
(website_id
) ON CASCADE BEI UPDATE CASCADE LÖSCHEN MySQL: Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden: Eine Fremdschlüsseleinschränkung schlägt fehl (goldenm101_mage4
.#sql-182e_308afa
, CONSTRAINTFK_catalogrule_product_customergroup
FOREIGN KEY (customer_group_id
) REFERENZENmage_customer_group
(customer_group_id
) AUF DELETE CASC)
Antworten:
Dies liegt daran, dass Ihre Datenbank eine Fremdschlüsseleinschränkung aufweist. Befolgen Sie vor dem Import die folgenden Schritte
1) Öffnen Sie die exportierte SQL-Datei Ihrer Datenbank und fügen Sie zu Beginn die folgende SQL-Abfrage hinzu
SET FOREIGN_KEY_CHECKS = 0;
2) Zum Ende der Datei gehen und hinzufügen
SET FOREIGN_KEY_CHECKS = 1;
Das sollte funktionieren. Die Fremdschlüsselprüfung wird beim Importieren deaktiviert und anschließend wieder aktiviert.
quelle
Haben Sie SSH-Zugang? Wenn ja, versuchen Sie die folgenden Befehle (wobei Sie sie durch
magentodb
den Namen Ihrer Datenbank ersetzen sollten ):Mit dem zweiten Befehl wird die Datenbank sofort komprimiert. Dies kann hilfreich sein, wenn Sie sie herunterladen müssen. Wenn Sie keinen MySQL-Root-Zugriff haben, verwenden Sie ein anderes Konto.
Entpacken Sie die Datenbank auf dem Testcomputer und führen Sie den folgenden Befehl aus:
Dies ist meine bevorzugte Methode. Unsere Datenbank ist 2 GB groß, und die anderen Methoden schlagen bei einer so großen Datenbank einfach fehl.
quelle
Es scheint, dass die Tabelle mage_core_store etwas anders importiert wurde. Ich habe dieses Problem auch mehrmals festgestellt, als ich magento db importiert / migriert habe. Die ersten Zeilen einiger Tabellen (core_store, core_website, core_store_group, customer_group) werden mit anderen Primärschlüsseln als mit dem Original importiert.
Lösungen:
SET FOREIGN_KEY_CHECKS = 0;
Dump verwenden und importieren.Führen Sie die Abfrage aus:
quelle