MasterSnapshot & Snapshot Transform
Der MasterSnapshot erfasst veröffentlichte Objekte vollständig als JSON. Snapshot Transform wandelt sie regelbasiert in CSV – perfekt für Shop, ERP und Marktplätze.
Für Pimcore 11/12 · CLI-basiert · Deterministisch
Warum Snapshots?
Reproduzierbar
Ein eingefrorener Datenstand pro Lauf – ideal für Tests, Audits und inkrementelle Vergleiche.
Saubere ETL-Kette
Erst vollständige JSONs, dann Transformationen je Kanal. Extraktion und Mapping getrennt.
Schnell & sicher
Nur published Objekte. Kein Risiko, Drafts zu exportieren. Performance-optimiert pro Klasse.
1) MasterSnapshot Export
Pro Klasse eine vollständige JSON-Datei plus Manifest:
```bash php bin/console snapshot:master-export Produkt,Kategorie \ --out-dir var/export/snapshot --lang de ```
Ausgabe: `Produkt.json`, `Kategorie.json`, `manifest.json`
Unterstützt: Assets, Relationen (M2M/AM2M), Blöcke, Fieldcollections, Localized Fields.
2) Snapshot Transform → CSV
Das Transform-Command liest den Snapshot und wendet ein Regelprofil an:
```bash php bin/console transformer:run produkt.csv.profile \ var/export/snapshot/2025-01-15_1100 \ /out/produkt.csv \ --delimiter=tab --list-sep="|" --encoding="utf8-bom" ```
Regelprofil
```json { "class": "Produkt", "lang": "de", "columns": { "ID": { "path": "id" }, "Key": { "path": "key" }, "Bezeichnung": { "path": "loc:Bezeichnung" }, "Kategorien": { "path": "Kategorien[].key", "join": "|" } }, "lookups": { "Kategorien": { "file": "kategorie.json" } } } ```
- `loc:` für lokalisierte Felder
- `[].key` extrahiert aus Relationen
- Lookups lösen IDs gegen andere Klassen auf
CSV-Optionen
| Option | Werte | |--------|-------| | `--delimiter` | comma, semicolon, tab | | `--list-sep` | Trenner für Listen (Standard: \|) | | `--encoding` | utf8, utf8-bom, iso-8859-1 | | `--quote` | auto, double, none |
Snapshot-Pipeline einrichten? Wir helfen.
Anfragen