P0 ARCHITECTURE CLEANUP: Final Address Refactor (Ghost Columns & AddressManager) #392
Notifications
Total Time Spent: 11 seconds
kincses
11 seconds
No due date set.
Dependencies
No dependencies set.
Reference: kincses/service-finder#392
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mérföldkő: Architecture Cleanup\nCél: A P0 kritikus search_organizations_by_name hiba javítása és P1 AddressManager kényszerítés az admin endpointokon\n\n### 🔗 Függőségek (Dependencies)\n- Bemenet (Mikre támaszkodik): Database (fleet.organizations, system.addresses, system.geo_postal_codes), AddressManager service\n- Kimenet (Mik támaszkodnak rá): Admin organization search, person update, organization update endpointok\n\n### 📝 Elemzés\nA docs/p0_address_manager_usage_audit_2026-07-01.md audit 3 kritikus hibát tárt fel:\n1. P0: admin.py:943 — Organization.address_city ghost column hivatkozás (search broken)\n2. P1: admin_persons.py:670-699 — Direkt Address mező írások AddressManager bypass-szal\n3. P1: admin_organizations.py — Ghost column hivatkozás list_organizations-ben\n\nA javítások:\n- P0: outerjoin(Address → GeoPostalCode) + GeoPostalCode.city használata\n- P1: AddressManager.create_or_update() bevezetése admin_persons.py-ban\n- P1: org.address.city relationship használata org.address_city helyett\n- OrganizationUpdate séma flat field-ek [DEPRECATED] jelölése\n- SQL cleanup script: 15 DROP COLUMN utasítás a ghost column-okhoz
▶️ Munka megkezdve: 2026-07-01 17:20:37
✅ Munka befejezve: 2026-07-01 17:20:47
Technikai Összefoglaló:
P0 ARCHITECTURE CLEANUP: Fixed 3 critical bugs from p0_address_manager_usage_audit. 1) P0: admin.py search_organizations_by_name — replaced Organization.address_city ghost column with GeoPostalCode.city via proper JOINs (Address → GeoPostalCode). 2) P1: admin_persons.py update_person — replaced 50+ lines of direct Address field writes with single AddressManager.create_or_update() call. 3) P1: admin_organizations.py list_organizations — replaced org.address_city with org.address.city relationship. 4) OrganizationUpdate schema flat fields marked [DEPRECATED]. 5) Generated docs/sql/cleanup_ghost_columns_2026_07.sql with 15 DROP COLUMN statements. Verified: all 3 files compile, imports resolve correctly, sync_engine reports 1274 OK.
⏱️ Az idő rögzítve.