Import: document EDA/KiCad columns, test both column forms, fix eda_invisible inversion (#1436)

- Document the eda_* import columns in docs/usage/import_export.md: the flat form and its short
  aliases, and the nested eda_info.* form used by the CSV/JSON export and the shipped
  part_import_example.csv.
- Add EntityImporterTest coverage locking in that BOTH the nested eda_info.* form and the flat
  form import the EDA fields correctly (the nested form already worked via the serializer but was
  untested, so an export -> re-import round-trip could silently regress).
- Fix the eda_invisible alias: it was a plain key-rename to eda_visibility, so eda_invisible=1
  stored visibility=true (made the part visible - the opposite of the name). It is now handled
  explicitly and inverted.
This commit is contained in:
Sebastian Almberg 2026-07-20 20:52:01 +02:00 committed by GitHub
parent 12b53f15ba
commit 3998248905
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 99 additions and 1 deletions

View file

@ -109,6 +109,21 @@ supplier is not specified, the price and supplier product number fields will be
* **`supplier_product_number`** or **`supplier_part_number`** or * **`spn`**: The supplier product number of the part.
* **`price`**: The price of the part in the base currency of the database (by default euro).
The following fields set the EDA / KiCad metadata of the part (see [EDA / KiCad integration](eda_integration.md)).
These can be given either as the flat column names below, or in the nested `eda_info.*` form used by the
CSV/JSON export and the [example file](#example-data) (e.g. `eda_info.kicad_symbol`), so a file exported from
Part-DB can be re-imported without renaming its headers:
* **`eda_kicad_symbol`** or **`kicad_symbol`**: The KiCad symbol of the part, e.g. `Device:R`.
* **`eda_kicad_footprint`** or **`kicad_footprint`**: The KiCad footprint, e.g. `Resistor_SMD:R_0805_2012Metric`.
* **`eda_reference_prefix`** or **`kicad_reference`**: The schematic reference prefix, e.g. `R`, `C`, `L`.
* **`eda_value`** or **`kicad_value`**: The value shown in the EDA tool, e.g. `10k`.
* **`eda_exclude_from_bom`** (or **`eda_exclude_bom`**), **`eda_exclude_from_board`** (or **`eda_exclude_board`**),
**`eda_exclude_from_sim`** (or **`eda_exclude_sim`**): Booleans (`1`/`0`) to exclude the part from the BOM, board
or simulation.
* **`eda_visibility`**: Boolean (`1`/`0`) controlling whether the part is exposed to the EDA tool. The inverse
convenience alias **`eda_invisible`** is also accepted (so `eda_invisible=1` hides the part).
#### Example data
Here you can find some example data for the import of parts, you can use it as a template for your own import (