Guten Tag,
Ich würde gerne größere Datensätze wie Kunden, Produkte oder Kategorien importieren. Die Import/Export Funktion in Shopware, stößt dabei immer auf zum Teil willkürliche Probleme (auch per API Endpunkt).
Nun würde ich die Datensätze gerne über die CLI mit dem Befehl import:entity probieren.
Leider finde ich keine Möglichkeit, benutzerdefinierte Profile anzugeben. Ist das wirklich so gewollt?
Es gibt doch das Argument profile oder verstehe ich die Frage falsch?
$ php bin/console import:entity --help
Usage:
import:entity [options] [--] <file> <expireDate> [<profile>]
Arguments:
file Path to import file
expireDate PHP DateTime compatible string
profile Wrap profile names with whitespaces into quotation marks, like 'Default Category'
Options:
-r, --rollbackOnError Rollback database transaction on error
-p, --printErrors Print errors occured during import
-d, --dryRun Do a dry run of import without persisting data
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
-e, --env=ENV The Environment name. [default: "dev"]
--no-debug Switch off debug mode.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Richtig, aber dort werden die eigenen benutzerdefinierten Profile nicht angezeigt…
Somit leider nicht zu verwenden, wenn man weitere Felder importieren muss.
Über die API per GET /api/import-export-profile/
die ID des gewünschten Profiles rausfinden, und dann per PATCH /api/import-export-profile/ID
und JSON Body {"name": "Neuer Name" }
den Name des Profiles setzen. Im Backend sieht man nur das „Label“, über die CLI den „Namen“.
Dann Cache leeren und man sieht sein gewünschtes Profile auch über die CLI.