Organization Timestamp Fix – KYC és Onboard szervezet-létrehozás javítása #100
Notifications
Total Time Spent: 17 seconds
kincses
17 seconds
No due date set.
Dependencies
No dependencies set.
Reference: kincses/service-finder#100
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ő: Core System & Database Integrity
Cél: A KYC és Onboard szervezet-létrehozási folyamatok javítása, amelyek 500-as hibákat dobtak a first_registered_at és created_at mezők NULL értéke miatt.
🔗 Függőségek (Dependencies)
📝 Elemzés
A probléma az volt, hogy az Organization modellben a first_registered_at, created_at és más mezők NOT NULL korláttal rendelkeznek server_default értékekkel, de a SQLAlchemy asyncpg driver nem használta automatikusan ezeket a default értékeket, amikor a mezőket kihagytuk a konstruktor hívásból. Ez NULL constraint violation hibákhoz vezetett mind a KYC (auth_service.py), mind az Onboard (organizations.py) végpontoknál.
Iteratív hibajavítást végeztünk: a sandbox szkript futtatásával azonosítottuk a hiányzó mezőket a Docker logokból, majd minden NULL violation hibát külön-külön javítottunk. A javítások után az Organization létrehozása sikeres (Organization ID: 14), bár a KYC completion még mindig hibás egy különálló duplicate key error miatt a user_stats táblában.
▶️ Munka megkezdve: 2026-03-20 18:55:14
✅ Munka befejezve: 2026-03-20 18:55:31
Technikai Összefoglaló:
Javítottuk a KYC és Onboard szervezet-létrehozási folyamatokat a NULL constraint hibák elkerülésére. A probléma az Organization modell NOT NULL mezőivel volt: first_registered_at, created_at, current_lifecycle_started_at, subscription_plan, base_asset_limit, purchased_extra_slots, notification_settings, external_integration_config, is_ownership_transferable. A SQLAlchemy asyncpg driver nem használta a server_default értékeket automatikusan. Mindkét helyen (auth_service.py és organizations.py) explicit megadtuk ezeket a mezőket a konstruktorban. A sandbox szkript most sikeresen létrehoz Organization ID: 14-et, bár a KYC completion még hibás egy különálló duplicate key error miatt a user_stats táblában.
⏱️ A ráfordított időt a Gitea rögzítette.