stop tracking docs/CSV-IMPORT-GUIDE.md
docs/ is generated and published to the wiki, not tracked in the product repo, and the docs publish/version tests skip when docs/ is absent. A single tracked file under docs/ made the directory exist in the CI checkout, so those tests ran against a near-empty folder and failed test_there_are_docs_to_check (needs >20 files) and test_the_map_itself_is_current (needs PROJECT-MAP.md). Untrack the guide and ignore it so it stays local-only and docs/ is absent in a fresh checkout, restoring the intended skip.
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -86,3 +86,9 @@ _transfer/
|
|||||||
|
|
||||||
# Local developer scratch notes and chat handoffs - never committed
|
# Local developer scratch notes and chat handoffs - never committed
|
||||||
devnotes/
|
devnotes/
|
||||||
|
|
||||||
|
# docs/ is generated/published to the wiki, not tracked in the product repo.
|
||||||
|
# A single tracked file here makes docs/ exist in the CI checkout, which
|
||||||
|
# defeats the intentional skip in the docs publish/version tests. Keep this
|
||||||
|
# local-only guide out of version control so those tests skip as designed.
|
||||||
|
docs/CSV-IMPORT-GUIDE.md
|
||||||
|
|||||||
@@ -1,91 +0,0 @@
|
|||||||
# ShopDB CSV Import Guide
|
|
||||||
|
|
||||||
Short version: one CSV per table, a header row of exact column names, one record
|
|
||||||
per row. The importer matches on natural keys, so re-importing updates instead of
|
|
||||||
duplicating.
|
|
||||||
|
|
||||||
## IMPORTANT: assets.csv alone will NOT show up in the lists
|
|
||||||
|
|
||||||
An `assets.csv` row only creates the base asset record. A computer, machine, or
|
|
||||||
measuring tool does NOT appear in its list view (PCs, Machines, Measuring Tools)
|
|
||||||
until its matching subtype row is also imported:
|
|
||||||
|
|
||||||
- A computer asset needs a row in `computers.csv` (`assetid` = the asset's
|
|
||||||
`assetnumber`) before it shows under PCs.
|
|
||||||
- A machine asset needs a row in `machines.csv` before it shows under Machines.
|
|
||||||
- A measuring-tool asset is managed by the Measuring Tools plugin, not the native
|
|
||||||
subtype importer, so it will exist as an asset but will not appear in the
|
|
||||||
Measuring Tools list from `assets.csv` alone.
|
|
||||||
|
|
||||||
So always import the subtype file (`computers.csv` / `machines.csv`) right after
|
|
||||||
`assets.csv`. Importing only `assets.csv` leaves the records invisible in the
|
|
||||||
typed lists even though they are in the database. (The Azure and Thor imports do
|
|
||||||
both steps automatically, which is why Azure/Thor PCs appear immediately.)
|
|
||||||
|
|
||||||
## Rules for hand-built native CSVs
|
|
||||||
|
|
||||||
1. First row is the header. Use the exact column names below, lowercase, no spaces.
|
|
||||||
2. Include every REQUIRED column. Other columns are optional; drop the ones you
|
|
||||||
do not use.
|
|
||||||
3. Foreign keys are entered by NAME, not id. Put the human name and the importer
|
|
||||||
resolves it: `assettypeid=machine`, `statusid=In Use`, `locationid=A1`,
|
|
||||||
`vendorid=Haas Automation`. The referenced record must already exist (import
|
|
||||||
lookup tables first, see order below).
|
|
||||||
4. Booleans (`isactive`, etc.) are `1`/`0` or `true`/`false`. Leave blank for the
|
|
||||||
default.
|
|
||||||
5. Dates are `YYYY-MM-DD`. Leave blank if unknown.
|
|
||||||
6. Leave a cell blank to skip it. Do not type `NULL` or `N/A`.
|
|
||||||
7. Save as UTF-8 CSV, comma-separated. ASCII only (no smart quotes, no em-dashes).
|
|
||||||
|
|
||||||
## Import order (dependencies first)
|
|
||||||
|
|
||||||
assetstatuses, assettypes, locationtypes, modeltypes, computertypes,
|
|
||||||
machinetypes, businessunits, locations, vendors, models, operatingsystems, assets,
|
|
||||||
computers, machines.
|
|
||||||
|
|
||||||
An asset row must exist before its `computers`/`machines` subtype row: the subtype
|
|
||||||
links back with `assetid` (the asset's `assetnumber`). Import the subtype file in
|
|
||||||
the same session so the item appears in its list (see the IMPORTANT note above).
|
|
||||||
|
|
||||||
## Columns (REQUIRED in bold)
|
|
||||||
|
|
||||||
- assetstatuses: **status**, description, color, isactive
|
|
||||||
- locationtypes: **locationtype**, description, color, isactive
|
|
||||||
- modeltypes: **modeltype**, category, description, icon, isactive
|
|
||||||
- computertypes: **computertype**, description, icon, color, isactive
|
|
||||||
- machinetypes: **machinetype**, description, icon, color, isactive
|
|
||||||
- businessunits: **businessunit**, code, description, parentid, isactive
|
|
||||||
- locations: **locationname**, building, floor, room, description, locationtypeid,
|
|
||||||
parentlocationid, isactive
|
|
||||||
- vendors: **vendor**, description, website, supportphone, supportemail, notes,
|
|
||||||
isactive
|
|
||||||
- models: **modelnumber**, modeltypeid, vendorid, description, notes, isactive
|
|
||||||
- operatingsystems: **osname**, osversion, architecture, endoflife, isactive
|
|
||||||
- assets: **assetnumber**, **assettypeid**, name, serialnumber, gaugelabreference,
|
|
||||||
maintenancereference, statusid, locationid, businessunitid, notes, isactive
|
|
||||||
- computers: **assetid**, computertypeid, hostname, osid, vendorid, modelnumberid,
|
|
||||||
loggedinuser, isactive
|
|
||||||
- machines: **assetid**, machinetypeid, vendorid, modelnumberid, requiresmanualconfig,
|
|
||||||
islocationonly, lastmaintenancedate, nextmaintenancedate, maintenanceintervaldays,
|
|
||||||
controllervendorid, controllermodelid, isactive
|
|
||||||
|
|
||||||
Measuring tools are assets: add an `assets` row with `assettypeid=measuring_tool`.
|
|
||||||
|
|
||||||
## Example (assets.csv)
|
|
||||||
|
|
||||||
assetnumber,name,serialnumber,assettypeid,statusid,locationid
|
|
||||||
MILL-01,Haas VF-2 Mill,SN1001,machine,In Use,A1
|
|
||||||
PC-01,Shopfloor PC 01,SN2001,computer,In Use,B1
|
|
||||||
MIC-01,Mitutoyo Micrometer,SN3001,measuring_tool,In Use,Gage Lab
|
|
||||||
|
|
||||||
Then machines.csv links the machine subtype:
|
|
||||||
|
|
||||||
assetid,machinetypeid,vendorid
|
|
||||||
MILL-01,Mill,Haas Automation
|
|
||||||
|
|
||||||
## Azure and Thor exports (do NOT edit)
|
|
||||||
|
|
||||||
For Azure (Entra device-group) and Thor (PC inventory) files, upload the export
|
|
||||||
AS-IS. The importer auto-detects them by their header and extracts the fields it
|
|
||||||
needs. Do not rename headers, reorder columns, add/remove rows, or reformat cells.
|
|
||||||
Editing the export breaks auto-detection.
|
|
||||||
Reference in New Issue
Block a user