Audit of kn-API payload for issue #297 sub-task 22a: Object-level (/kn/object list endpoint): - wallType, energyEff, objClass: absent from API payload (0/1516 objects). obj_class already fixed in SF#15 via aiDescription regex. wall_type/energy_eff: no data source exists. Flat-level (/portal-kn/api/sales/portal/table): - number → flat_number: mapped correctly in _norm_flat(). - livingArea → living_area: mapped correctly in _norm_flat(). - Root cause for 0% DB coverage: UPSERT_FLAT_SQL ON CONFLICT did not include flat_number, living_area, is_studio, total_area, rooms, floor, num_floors — existing rows (hash-id, inserted before direct flatId became available) were never updated on subsequent scrapes. Fix: - UPSERT_FLAT_SQL ON CONFLICT: add COALESCE updates for all 7 flat fields. - UPSERT_OBJECT_SQL ON CONFLICT: add COALESCE for wall_type + energy_eff (obj_class was already updating, now also COALESCE to preserve existing value). - Add migration 108 (idempotent DDL guard + coverage NOTICE). Coverage will improve on next scrape; no backfill possible (flat raw not stored). Closes #297 sub-task 22a. |
||
|---|---|---|
| .. | ||
| cadastre | ||
| etl | ||
| exporters | ||
| generative | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||