• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

magento sql backup

F

FoXMorayn

Guest
Hallo,
ich würde gerne daten in eine magento datenbank einfügen.
der erzeugte export lässt sich aber nicht wieder einfügen, mysql weigert sich konstant die daten anzunehmen, obwohl es selbst es export erzeugt hat.

"#1452 - Cannot add or update a child row: a foreign key constraint fails"

den kompletten sql export zu bearbeiten macht erstmal wenig sinn, dafür sind es zuviele tabellen und daten.

gibs einen knopf mit dem ich den phpmyadmin dazu bewegen kann diese sachen einfach zu ignorieren? hab den export schließlich als replace gemacht.

falls jemand mit magento erfahrung hat: es geht nur um den import der produkte und individuellen optionen. die schlüssel müssen alle erhalten bleiben.

ps: wenn jemand auf die idee kommt mit magento zu arbeiten: bitte sofort wieder vergessen, das system ist eine ruine.
 
Wenn Du so eine schlechte Meinung von magento hast wieso nutzt Du es dann? ;)

Wenn ich es richtig verstehe hast Du also Daten aus einer MySQL-Datenbank exportiert um sie wieder zu importieren. Wieso willst Du sie importieren wenn sie ohnehin schon in der Datenbank vorhanden sind? Denn das dürfte auch die Ursache für das Problem sein: ein Key ist bereits in der Datenbank vorhanden und kann nicht neu eingefügt werden.
 
Aus meiner Sicht ja, da kommst Du nicht herum. Allerdings frage ich mich immernoch wieso Du das machen willst. Damit verdoppelst Du praktisch die Daten in der Datenbank da du sie erst exportierst und dann zu den ohnehin vorhandenen Daten wieder importierst. Mit welchem Ziel?
 
ein plugin hat den shop incl datenbank geschrottet. nun kann ich nicht einfach eine datenbank erstellen und die tabellen in eine leere(!) datenbank einspielen. auch da kommen die fehler. nun hab ich, weil es einfach unkomplizierter ist, magento einfach neu installiert und möchte nun daten in die bestehenden tabellen schreiben. schlüssel sollen überschrieben werden. eigentlich das einfachste wo gibt...

- kann nicht alles in einem file importieren -> memory limit vom verwalltungsserver ist mir im weg
- auch wenn ich einen teilimport versuche kommen eben diese "key constant" fehler
- alleine der export einer bestimmten schlüsseltabelle sprengt die perfomanz meines rechners, das bearbeiten wird zu qual

zur not bleibt mir eben nur das manuelle bearbeiten.
 
Das memory_limit fällt weg, wenn Du den Dump direkt per mysql einspielst. Geht am einfachsten per SSH, wenn mans hat.

Ich vermute, dass magento frisch installiert bereits über einige Daten verfügt. Diese versuchst Du gerade zu überschreiben. Das geht aber nur, wenn Du bevor Du den Import startest die vorhandene Datenbank komplett leerst. Nur weiß ich nicht ob und was dann mit magento passiert.
Auch könnte es sein, dass dein Datenbank-Dump einige Bestandteile hat die in dem frisch installierten magento nicht vorhanden sind, weil sie in deinem ursprünglichen magento per Plugin oder individueller Programmierung dazugekommen sind.

Wende dich am Besten an eine magento-Community, die sollten sich damit am Besten auskennen.

Achja, und so etwas zeigt mal wieder, dass man immer Backups machen sollte bevor man irgendetwas bastelt ;)
 
ich möchte diesen replace bzw insert machen:
Code:
REPLACE INTO `amf_catalogindex_eav` (`store_id`, `entity_id`, `attribute_id`, `value`) VALUES
(1, 28, 81, 1),
(1, 41, 81, 1),
(1, 51, 81, 1),
(1, 52, 81, 1),
(1, 53, 81, 1),
(1, 54, 81, 1),
(1, 55, 81, 1),
(1, 56, 81, 1),
(1, 57, 81, 1),
(1, 58, 81, 1),
(1, 59, 81, 1)
das ist der export der bestehenden tabelle:
Code:
-- phpMyAdmin SQL Dump
-- version 3.3.7
-- http://www.phpmyadmin.net
--
-- Host: dd23606
-- Erstellungszeit: 29. September 2010 um 22:39
-- Server Version: 5.0.51
-- PHP-Version: 5.2.12-nmm2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Datenbank: `d00ee1db`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `amf_catalogindex_eav`
--

CREATE TABLE IF NOT EXISTS `amf_catalogindex_eav` (
  `store_id` smallint(5) unsigned NOT NULL default '0',
  `entity_id` int(10) unsigned NOT NULL default '0',
  `attribute_id` smallint(5) unsigned NOT NULL default '0',
  `value` int(11) NOT NULL default '0',
  PRIMARY KEY  (`store_id`,`entity_id`,`attribute_id`,`value`),
  KEY `IDX_VALUE` (`value`),
  KEY `FK_CATALOGINDEX_EAV_ENTITY` (`entity_id`),
  KEY `FK_CATALOGINDEX_EAV_ATTRIBUTE` (`attribute_id`),
  KEY `FK_CATALOGINDEX_EAV_STORE` (`store_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `amf_catalogindex_eav`
--


--
-- Constraints der exportierten Tabellen
--

--
-- Constraints der Tabelle `amf_catalogindex_eav`
--
ALTER TABLE `amf_catalogindex_eav`
  ADD CONSTRAINT `FK_CATALOGINDEX_EAV_ATTRIBUTE` FOREIGN KEY (`attribute_id`) REFERENCES `amf_eav_attribute` (`attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `FK_CATALOGINDEX_EAV_ENTITY` FOREIGN KEY (`entity_id`) REFERENCES `amf_catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `FK_CATALOGINDEX_EAV_STORE` FOREIGN KEY (`store_id`) REFERENCES `amf_core_store` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
dieser fehler kommt:
Code:
#1452 - Cannot add or update a child row: a foreign key constraint fails  (`d00ee1db/amf_catalogindex_eav`, CONSTRAINT  `FK_CATALOGINDEX_EAV_ENTITY` FOREIGN KEY (`entity_id`) REFERENCES  `amf_catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE  CASCADE)
muss ich vorher andere tabellen füllen? kann ich so eine tabele garnicht einfach so in oder exportieren?

EDIT:
der phpmyadmin erstellt in diesem fall einen falschen export. die reihenfolge der tabellen muss stimmen. erst parents, dann childs. hier ist handarbeit gefragt.
 
Zuletzt bearbeitet von einem Moderator:
Code:
SET FOREIGN_KEY_CHECKS=0;
hilft sehr. der import geht trotzdem noch nicht in einem rutsch.

EDIT: geht mit einer leeren datenbank. :-)

PS: magento nimm die tabellen trotzdem nicht problemlos an^^
 
Zurück
Oben