24 lines
1.6 KiB
Markdown
24 lines
1.6 KiB
Markdown
|
|
# tools/ — manual & one-shot operator scripts
|
||
|
|
|
||
|
|
These are **not** part of the running stack (no service executes them). They are manual
|
||
|
|
utilities, mostly one-shot tasks that have already been run. Kept here for reference and
|
||
|
|
the occasional re-run, out of the production root.
|
||
|
|
|
||
|
|
They import `ts_shared_rev` (DB pool, API client, clean helpers) from the repo root, so run
|
||
|
|
them **as modules from the image root** (`/app`), not as bare files:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
WK=$(docker ps --filter name=ingest_worker --format "{{.Names}}" | head -1)
|
||
|
|
docker exec -it "$WK" python -m tools.<name> [args]
|
||
|
|
```
|
||
|
|
|
||
|
|
| Script | What it does | One-shot? |
|
||
|
|
|---|---|---|
|
||
|
|
| `sync_driver_audit.py` | API↔DB driver/IMEI gap report + full device upsert across all sub-accounts | re-runnable audit |
|
||
|
|
| `audit_device_reconciliation.py` | Read-only: reconcile the vehicle CSV (`data/`) against `tracksolid.devices`; reports gaps + NULL fields | re-runnable audit |
|
||
|
|
| `import_drivers_csv.py` | Populate device names/plates from CSV (`--apply` to commit). The registry is already populated — kept for future bulk re-imports | one-shot (done) |
|
||
|
|
| `backfill_trips_enrichment.py` | One-shot backfill of historical `tracksolid.trips` (route_geom/addresses/plate) for rows predating migration 09 (`--apply` to commit) | one-shot (done) |
|
||
|
|
| `import_tickets.py` | Ingest INC/CRQ ticket snapshots (rustfs `tickets` bucket → `tracksolid.tickets`); `--from-bucket --apply`. `--geocode-clusters` seeds the cluster gazetteer that puts tickets on the FleetOps map. Needs migration 21 | re-runnable (per snapshot) |
|
||
|
|
|
||
|
|
`data/` holds the source CSVs the import/audit scripts read (default: `data/20260427_FSG_Vehicles_mitieng.csv`).
|