Nicht alle Import/Export-Profile für Console

Wenn die Shopware-Console mich fragt, welches Import/Export-Profil ich verwenden möchte,
dann tauchen auf dieser Liste manche der benutzerdefinierten Profile aus dem Backendbereich
Einstellungen > Import/Export > Profile auf.
Manche tauchen aber auch nicht auf.

Hat jemand schon mal herausgefunden, was so ein Importprofil haben muss, damit es hier auf der Liste auftaucht?

Moin!

Ich denke mal, Du nutzt den Befehl „bin/console import:entity“ Befehl?

Laut des Codes der aktuellen Version ist die einzige Bedingung, das der Typ nicht „Export“ sein darf:

Ansonsten könnte man es noch mit cache:clear versuchen, ich weiß aber ehrlich gesagt überhaupt nicht, ob das irgendwas bringt bei CLI-Befehlen.

LG;LA

Merci für die schnelle Reaktion, LA.
Und sorry für die noch nicht sehr präzise Beschreibung.
Die in dem Falle vorliegende Shopware-Version ist eine 6.4.20.2

Aber auch schon hier taucht die besagte Codezeile auf.

Im Backend kann ich dieses Profil ja eben zum Import auswählen.
Und ich verstehe nicht, wie die Unterscheidung stattfindet, ob denn es exklusiv ein Import- oder ein Export-Profil ist.

Wo wird denn diese Unterscheidung gemacht?
Hab ich da im Handbuch was überlesen?

Im Endeffekt stecke ich gerade im Debugging eines Importprofils, das im Backend nicht zum Abschluss kommt, aber halt auch keine Fehlermeldung wirft. Dazu hätte ich das jetzt gerne mal auf der Kommandozeile verwendet… Kann ich aber nicht, weil es dort nicht bekannt ist.

In der Datenbanktabelle import_export_profile (nicht in deren *_translation !) gibt’s eine Name-Spalte.

Und ich hab da ungefähr drölf Profile namens „Default customer“, von denen die SW-Konsole dann nur eines zeigt. Hab mittels ID mein Profil gefunden, in der Name-Spalte dezent umbenannt und jetzt bekomm ich es auch auf der Konsole zu Gesicht.

Ein Backend-Language-Wechsel auf Englisch ließ mich übrigens nicht an diese Spalte ran.
Die Konsole arbeitet hier also mit einem Namen, den man im Backend nicht sieht, SW6 legt hier Dubletten an und die Console zeigt von selbigen Dubletten maximal eine Ausführung an.

Kann das jemand bestätigen? Dann könnte man (ich) da ja mal ein Issue aufmachen.

Und nachdem ich jetzt die Konsolen Dry-Runs hatte, kam ich noch weiter in Sachen warum der nicht importiert:
Die Datei /src/Core/Content/ImportExport/ImportExport.php hat ein use auf use Doctrine\Common\Collections\ArrayCollection

Letzteres ist aber keine direkt von Shopware hinterlegte Dependency.
Das läuft eher z.B. so ab:

  • shopware/core required enqueue/dbal
  • enqueue/dbal required doctrine/persistence
  • doctrine/persistence required dann erst die doctrine/collections (zumindest bisher)

dbal ist großzügig und lässt (^2.0|^3.0) von doctrine/persistence zu.
Und ab der 3.0.3 kräht doctrine/persistence plötzlich nicht mehr nach doctrine/collections
Und jetzt will die ImportExport.php Doctrine\Common\Collections\ArrayCollection haben und greift ins Leere. WoW…

Meine Lösung:
Sich mit composer require doctrine/collections die Collections wieder installieren.
(Hier in Version 1.8.0 geschehen)

2 „Gefällt mir“

Ui, hier ist was passiert ^^
Freut mich, dass Du die Lösung gefunden hast :slight_smile:

Daher nur ergänzend:

Ich hab mal fix in eine Datenbanken geschaut: Die Tabelle import_export_profile besitzt eine Spalte type - dort ist „export“, „import“, oder „import-export“ eingetragen. Was ich nicht weiß, ist, ob die Bedingung in der Konsole die gemischten Typen (also „import-export“) im Ergebnis aus- oder einschließt.

Viele Daten lassen sich nur in der „Standard-Admin-Sprache“ bearbeiten und haben in der englischen Admin-Ansicht nur noch die Möglichkeit zum Übersetzen :slight_smile:

Ich hab es leider nicht getestet, deswegen ist es für mich schwer zu beantworten. Ich frage mich schon, wo bei Dir die „Default Customer“ Profile her kamen. Ich hab bisher noch keine selbständige Duplizierung festgestellt, allerdings arbeite ich auch selten mit Importen… WENN es doch so sein sollte, müsste man vorher auch testen, ob der Bug auch noch in der aktuellsten Shopware-Version existiert, bevor ein Issue erstellt werden kann.
Die Ausgabe kann aber auch auf ein GROUP BY auf den Namen hindeuten - ich wüsste sonst nicht, warum Dir die Konsole die Profile unterschlagen sollte (oder es wird vielleicht doch der Typ „import-export“ von der Ausgabe ausgeschlossen? :thinking:)

LG;LA