Wheels — Batch Update
Batch update wheel product parameters. Split into three subcommands:
| Subcommand | Description |
|---|---|
csv <file> | Update from CSV file (per-row filter + values) |
view [filter flags...] | Preview matching wheels without updating (read-only) |
inline [filter flags...] [set flags...] | Apply uniform changes to all matching wheels |
Set-Value Flags (inline mode)
| Flag | Type | Description |
|---|---|---|
--set-et | int | New ET value |
--set-cb | string | New CB value |
--set-cap | string | New cap part number (e.g. "CP865PS80") |
--set-bolt | string | New bolt name (e.g. "M14x2.0") |
--set-holes | int | New number of holes |
--set-pcd1 | string | New PCD1 value |
--set-pcd2 | string | New PCD2 value |
--set-status | string | New status (true/false, active/inactive, 1/0) |
--set-base-finish | string | New base finish name |
--set-procedures | string | New procedures (comma-separated, replaces entire list) |
batch-update csv
Usage: efision -r <region> wheels batch-update csv <file>
CSV Format:
Columns without prefix are filter criteria; columns with new_ prefix are values to set.
model,diameter,width,holes,pcd1,pcd2,et,new_et
Blitz,19,8.5,5,112,114.3,32,35
Blitz,19,8.5,5,112,114.3,40,38
Available CSV columns:
- Filter:
model,brand,diameter,width,holes,pcd1,pcd2,et,cb,base_finish,procedures - Set-value:
new_et,new_cb,new_cap,new_bolt,new_holes,new_pcd1,new_pcd2,new_status,new_base_finish,new_procedures
Example:
efision -r demo wheels batch-update csv updates.csv
batch-update view
Preview matching wheels without updating.
Usage: efision -r <region> wheels batch-update view [filter flags...]
Example:
efision -r demo wheels batch-update view --brand INOVIT --diameter 19
Wheels Batch Filter View
Configuration
. Region DEMO
. Mode View
Filters
. Brand INOVIT . Diameter 19
Finding matching wheels... done.
Matching wheel(s) 35:
# Part Number Brand Model Size HxPCD ET CB Cap Bolt Status Base Finish Procedures
1 02319K5T38S1ANA INOVIT Speed 19x8.5 5x112 38 73.10 CP506AL68 32x15x60 Active Silver Machined Face
2 02319K5B40S1BNA INOVIT Speed 19x8.5 5x120 40 72.60 CP506AL68 32x15x60 Active Black CNC/Paint
...
batch-update inline
Apply uniform changes to all matching wheels. At least one filter flag and one set-value flag are required.
Usage: efision -r <region> wheels batch-update inline [filter flags...] [set flags...]
Update CB:
efision -r demo wheels batch-update inline \
--brand "INOVIT" --holes 5 --pcd1 "115" \
--set-cb 71.5
Update multiple fields:
efision -r demo wheels batch-update inline \
--model "Blitz" --holes 5 --pcd1 "112" --pcd2 "114.3" \
--set-cb 71.5 --set-cap "CP865PS80" --set-bolt "M14x2.0"
Deactivate by finish:
efision -r demo wheels batch-update inline \
--brand "INOVIT" --base-finish "Black" \
--set-status false
Change procedures:
efision -r demo wheels batch-update inline \
--brand "INOVIT" --model "Speed" --diameter 19 \
--set-base-finish "Silver" --set-procedures "Machined Face,Diamond Cut"
Notes
- Each CSV row must have at least one filter column and one
new_column - Bolt, cap, base finish, and procedure values are resolved from human-readable names to database IDs
--modelfilter matches against both design name (pdName) and design code (pdNO)- PCD filter uses separate
--pcd1and--pcd2flags. Use only--pcd1for single-PCD wheels - Procedures filter performs exact match (order-insensitive)
--set-statusupdatesProduct.pStatus. Acceptstrue/false,active/inactive, or1/0--set-proceduresreplaces the entire procedure list (does not append)- Spec updates target
ProductWheelsrows (bypwID); status updates targetProductrows (bypID) - All updates execute within a single database transaction (all-or-nothing)
- Part numbers are automatically regenerated after spec changes
- Filter validation: When no wheels match (inline mode), the CLI checks whether the brand/model exists and lists available values
- Mold range validation: Proposed ET, CB, PCD values are checked against mold constraints. Violations are shown as a warning table before confirmation
- Mold range auto-expansion: After update, any exceeded mold ranges are automatically expanded