バルク編集¶
React Dashboard の /bulk-edit から、対象一覧の現在値を CSV で出力し、値を編集した CSV を upload して dry-run preview 後に適用する運用機能。
CSV 形式¶
バルク編集 CSV は 2 行 header を正本にする。後方互換は持たない。
sku,productName,variantName,stockOnHand
商品番号,商品名,バリアント名,在庫数
80000060,サンプル商品,通常,0
- 1 行目: machine key。import が照合する正本。
- 2 行目: 人間用 label。Dashboard / Excel 上の視認性のためだけに使う。
- 3 行目以降: data row。
productName/variantNameのような参照列は、対象確認のために export するが更新対象にはしない。
複数列の場合も同じ。
sku,productName,variantName,stockOnHand,price
商品番号,商品名,バリアント名,在庫数,標準価格(最小通貨単位)
80000060,サンプル商品,通常,0,-100
Key と Label¶
identifier は target の識別子 key を使う。
| 対象 | 代表 identifier key | label |
|---|---|---|
| ProductVariant | sku |
商品番号 |
| Product | slug |
スラッグ |
| Customer | customerCode |
顧客コード |
更新列は target descriptor の field key を使う。
| 対象 | 代表 field key | label |
|---|---|---|
| ProductVariant | stockOnHand |
在庫数 |
| ProductVariant | price |
標準価格(最小通貨単位) |
| ProductVariant | enabled |
有効 |
| ProductVariant | trackInventory |
在庫追跡 |
| Product | enabled |
有効 |
| Customer | lastName |
姓 |
| Customer | firstName |
名 |
| Customer | emailAddress |
メールアドレス |
| custom field | customFields.<key> |
custom field の表示名 |
Export¶
bulkEditCurrentValuesExport(input) は Dashboard の operation 定義から CSV を生成する。
- 1 行目には
identifierKey、参照列 key、columnMappings[].fieldKeyを出力する。 - 2 行目には
identifierColumn、参照列 label、columnMappings[].csvColumnを出力する。 - ProductVariant は対象確認用に
productName(商品名)とvariantName(バリアント名)を参照列として出力する。 - boolean は
true/false、enum は value、date は ISO、null は空欄にする。 BULK_EDIT_EXPORT_MAX_ROWS = 10000を超える場合はエラーにし、フィルタを絞らせる。
Import / Preview¶
previewBulkEdit(file, operation) は 1 行目の machine key を正本にする。
- identifier は
operation.identifierKeyの列から読む。 - 更新列は upload 後に Dashboard で選択した列だけを
operation.columnMappings[].fieldKeyとして渡し、その列だけを差分判定する。 - CSV に含まれる参照列や未選択の編集候補列は preview / apply で無視する。
- 2 行目の label row は data として扱わない。
- 空セルは「変更しない」。値のクリアは v1 対象外。
- preview は dry-run のみで、
applyBulkEditRunを実行するまで Vendure の値は更新しない。
旧 1 行 header 形式や日本語 header だけの CSV は受け付けない。