Magento ist ein Open Source Shopsystem auf Basis von PHP und MySQL.

In Magento können die Produktdaten exportiert werden. Für eine lokale Kopie des Shops sollten die neu hinzugefügten Produkte mithilfe dieser Funktion in den lokalen Shop übernommen werden.

Der Import dieser Datei ist fehlgeschlagen. Obwohl der Shop lokal auf einem leistungsfähigen Rechner installiert ist, ist der Import ohne Fehlermeldung einfach "eingefroren".

Die CSV-Datei hat über 350 Spalten und lässt sich mit Excel nicht mehr bearbeiten.

Eine Bearbeitung mit NotePad++ wäre möglich, allerding läßt bei mehr als 350 Spalten die Übersichtlichkeit innerhalb eines Texteditors sehr zu wünschen übrig.

Der Import der gesamten CSV in MySQL scheitert an der unbekannten Struktur der Tabelle. Mit entsprechend viel Handarbeit ist es dennoch möglich die Tabelle zu importieren. Allerdings ist dies kein Verfahren, was man mehr als einmal versuchen möchte.

Im Netz habe ich ein tolles Tool gefunden, den CSV - file editor.

Warum gibt es so viele Spalten?

Magento verwendet für die Erfasssung der Produkteigenschaften das EAV-Model, damit werden zwar mehr Ressourcen gebunden und unter Umständen auch die Seitenladenzeiten verlängert, aber es ermöglicht im Prinzip unendlich viele unterschiedliche Produkteigenschaften.

Solange für jede zusätzliche Eigenschaft Erweiterungen in der Datenbank durch den DBA und Anpassungen im Programm durch den Programmierer notwendig waren, wurde sparsam mit Eigenschaften umgegangen. Nun da dies nicht mehr notwendig ist, explodiert die Zahl der Eigenschaften: aus der Eigenschaft: Farbe wurde nun die die Produktfarbe, Farbe, Folienfarbe, Bezugfarbe, Grundfarbe, Farbe der Lackierung, usw. Das Gleiche läßt sich für die Höhe, Breite, Durchmesser, Gewicht fortsetzen.

Hier gilt, wie so oft, weniger ist mehr.

Quellen und weiterführende Informationen

Sowohl bei der Installation, als auch bei Updates stoppt Magento, wenn php_value always_populate_raw_post_data nicht off ist.

In einer lokalen Entwicklungsumgebung oder dem eigenem Server kann der Wert direkt in der php.ini geändert werden. Auf einem Webspace kann alternativ versucht werden den Wert über die Datei .htaccess zu ändern. Ist dies nicht möglich belibt nur die Anfrage beim Support des Webspaces.

php.ini

php_value always_populate_raw_post_data -1

.htaccess

php_value always_populate_raw_post_data -1

s.a. always_populate_raw_post_data

Weiterlesen: Fehler wegen always_populate_raw_post_data

Magento - Tabelle: log_visitor_info

Die Tabelle: log_visitor_info enthält Daten der Besucher, wie z.B. http_referer und http_user_agent.

Aus Datenschutzgründen sollten diese Daten regelmäßig bereinigt werden.

ToDo: Abklären, ggf. erfolgt dies innhalb Magento automatisch oder manuell im Admin-Bereich.

Weiterlesen: log_visitor_info

Bei der Installation von Magento 2 werden nachfolgende Dateien erstellt bzw. geändert:
  • app\
    • app\config.php
    • app\env.php
    • app\di.xml - In Zeile 607 symlink gegen copy geändert (local) im Netz Original belassen.
  • var\
    • var\log\debug.php
    • var\log\exeption.php
    • var\log\install.php
    • var\log\system.php
    • var\report\ - Verzeichnis
    • var\tmp\ - Verzeichnis
    • var\view_preprocessed\ - Verzeichnis mit Unterverzeichnissen

Unterkategorien

Moderne Serververwaltungstools erlauben die Übertragung von Webinstallationen quasi per Knopfdruck via FTP und per Datenbankexport direkt in die Zieldatenbank.

In einigen Fällen stehen solche Tools nicht zu Verfügung oder die Installation ist mit der Zeit so groß geworden, dass ein Umzug an der Überschreitung von Ressourcen, wie z.B. Script-Ausführungszeiten scheitert.


Aus diesem Grund ist es sinnvoll vor dem Transfer, nach einem Voll-BackUp nicht benötigte Daten zu bereinigen und die Index-Tabellen in der neuen Umgebung neu zu erstellen.

Die Datenbankstruktur Magento 2.1 wird für die Übernahme der Daten aus einem Magento 1.7 - Shop im Vergleich zur Datenstruktur von Magento 1.7 betrachtet. Ziel ist ggf. die Übernahme der Produktendaten aus Magento-Shops bei einer Migration per SQL-Script durchzuführen.


Die Analyse ist derzeit noch unvollständig!

^