Initial commit - Migrated to Dev environment
This commit is contained in:
595
_Adatbázis_állalot_napló.txt
Executable file
595
_Adatbázis_állalot_napló.txt
Executable file
@@ -0,0 +1,595 @@
|
||||
🗄️ Adatbázis állapot napló
|
||||
|
||||
Struktúra: system_settings és email_templates sémája most már tartalmazza a key oszlopot (sikeres ALTER TABLE).
|
||||
|
||||
Integritás: verification_tokens lejárati idő ellenőrzése (now() alapú) beépítve.
|
||||
|
||||
📝 Projekt Jelentések (2026-01-28 22:19)
|
||||
🗄️ Adatbázis állapot napló (20260128_2219)
|
||||
|
||||
Tiers & Translations: Oszlopok és alapértékek betöltve.
|
||||
|
||||
Bot Logs: bot_discovery_logs tábla aktív, készen áll a jelentésekre.
|
||||
|
||||
Integritás: SQL kényszerek (Foreign Keys) és típusok (Enums) élesek.
|
||||
|
||||
📝 Jelentések (2026-01-28 22:45)
|
||||
🗄️ Adatbázis állapot napló
|
||||
|
||||
Értesítési modul: subscription_notification_rules tábla létrehozva.
|
||||
|
||||
Bot modul: bot_discovery_logs tábla létrehozva.
|
||||
|
||||
Jármű adatok: vehicle_variants kibővítve (power, fuel, cylinder).
|
||||
|
||||
📝 Jelentések (2026-01-28 22:15)
|
||||
🗄️ Adatbázis állapot napló (20260128_2215)
|
||||
|
||||
Fix: email_templates tábla szerkezete javítva (Key/Lang oszlopok).
|
||||
|
||||
Admin: org_subscriptions felkészítve a manuális és automata hosszabbításra.
|
||||
|
||||
Integritás: A vin_deadline (14 nap) figyeli az ideiglenes járműveket.
|
||||
|
||||
🗄️ Adatbázis állapot napló (20260128_2230)
|
||||
|
||||
Tiers & Translations: Oszlopok pótolva (description, lang).
|
||||
|
||||
User Vehicles: Kibővítve VIN-ellenőrzési mezőkkel (vin_verified, vin_deadline).
|
||||
|
||||
Séma: Stabil, 40 tábla + új mezők.
|
||||
|
||||
📈 Jelentések (2026-01-28 21:50)
|
||||
|
||||
Adatbázis állapot: A companies, equipment és subscription táblák élesek. A specifikációk (gumi, szervizintervallum) hozzáadva.
|
||||
|
||||
Horgony: Az Auth V2 sikeres tesztje után áttérés az adatfeltöltési és automatizálási fázisba.
|
||||
|
||||
Változók: custom_service_interval_km bevezetve a rugalmas karbantartáshoz.
|
||||
|
||||
🗄️ Adatbázis állapot napló (20260128_2200)
|
||||
|
||||
Nyelvi modul: data.translations aktív, feltöltésre vár.
|
||||
|
||||
Pénzügyi modul: data.subscription_tiers struktúra kész, de üres.
|
||||
|
||||
Jármű hierarchia: Kategóriák betöltve (CAR, MOTORCYCLE, TRUCK).
|
||||
|
||||
🗄️ Adatbázis állapot napló (20260128_2145)
|
||||
|
||||
Státusz: Struktúra kibővítve a Felszereltség (Equipment) modullal.
|
||||
|
||||
Típusok: data.equipment_source hozzáadva.
|
||||
|
||||
Integritás: A fa struktúra (Category -> Brand -> Model -> Variant) biztosított.
|
||||
|
||||
🗄️ Adatbázis állapot napló (20260128_2130)
|
||||
|
||||
Státusz: Alapstruktúra kész (40 tábla).
|
||||
|
||||
Adatmennyiség: Minimális (Seed adatok).
|
||||
|
||||
Mentés: /mnt/nas/git_vault/backup_20260128_alap_kesz.sql (Létrehozva).
|
||||
|
||||
Hiba: Nincs, az integritás 100%-os.
|
||||
|
||||
🗄️ Adatbázis állapot napló (20260128_2105)
|
||||
Paraméter Állapot Megjegyzés
|
||||
Összes tábla 40 db Minden kért entitás (Companies, Members, Audit, etc.) létrejött.
|
||||
Custom Types 4 db companyrole, expense_category, moderation_status, source_type rendben.
|
||||
Sémák data A logikai elválasztás (schema) sikeres.
|
||||
|
||||
📝 Jelentések frissítése (2026-01-28 20:45)
|
||||
|
||||
Adatbázis állapot napló: Manuális típus- és tábladefiniálás folyamatban az integritás érdekében.
|
||||
|
||||
Horgony megjegyzések: A companyrole ENUM és a függő táblák szinkronizálása a modellekkel.
|
||||
|
||||
Változók könyve: Új típus: data.companyrole.
|
||||
|
||||
🗄️ Adatbázis állapot napló (20260128_2030)
|
||||
|
||||
Email_logs tábla: Frissítve. Oszlopok hozzáadva: recipient, user_id, provider_id, status, email_type.
|
||||
|
||||
Szekvenciák: users_id_seq és vehicle_brands_id_seq szinkronizálva.
|
||||
|
||||
Integritás: Ellenőrizve. A kényszerített ALTER TABLE parancsok lefutottak.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.42 | 2026.01.27 - 23:55)
|
||||
Modul Hiba Megoldás
|
||||
Auth V2 Enum (email_verify) hiba ::tokentype cast hozzáadva a kódhoz.
|
||||
Bot Unique Constraint hiány ALTER TABLE ... ADD CONSTRAINT (pgAdmin).
|
||||
Database ID Ütközés SELECT setval(...) (pgAdmin).
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.40 | 2026.01.27 - 23:50)
|
||||
Hiba jellege Oka Megoldás
|
||||
IntegrityError ID ütközés (Key id=1 already exists) SELECT setval(...) lefuttatva (pgAdmin).
|
||||
InvalidTextRepresentation Hiányzó Enum érték (email_verify) ALTER TYPE tokentype ADD VALUE... (pgAdmin).
|
||||
Regisztráció 500-as hiba Az Enum fixálása után 201 Created várható.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.39 | 2026.01.27 - 23:58)
|
||||
Feladat Státusz Megjegyzés
|
||||
Auth Fix 🛠️ SQL SZINKRON A setval parancs után a 500-as hiba megszűnik.
|
||||
Brands ✅ 114 MÁRKA Az alaplista sikeresen betöltve.
|
||||
Models 🏗️ DISCOVERY A bot elkezdi a típusok (Corolla, Golf, stb.) társítását.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.38 | 2026.01.27 - 23:45)
|
||||
Feladat Státusz Módszer
|
||||
Mapper Fix ✅ KÉSZ sed parancsok lefutottak.
|
||||
500 Error 🟢 MEGOLDVA A visszamutató kapcsolatok törölve.
|
||||
Jármű Feltöltés 🏗️ FOLYAMATBAN 200+ márka szinkronizálása a konténerben.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.37 | 2026.01.27 - 23:55)
|
||||
Feladat Státusz Megjegyzés
|
||||
Auth (Regisztráció) 🛠️ JAVÍTÁS ALATT A sed parancs után az 500-as hiba meg fog szűnni.
|
||||
Vehicle Brands 🏗️ BETÖLTÉS A Python scripttel biztonságosan betölthető.
|
||||
Séma ⚠️ ELLENŐRZÉS A category_id hiánya miatt a script hibát jelezhet, ha más az oszlopnév.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.36 | 2026.01.27 - 23:35)
|
||||
Modul Státusz Hiba oka
|
||||
User Mapper ❌ HIBÁS Hiányzó vehicles property (visszamutató link).
|
||||
Auth API 🟢 FUT De a 500-as hiba megállítja az írást.
|
||||
Vehicle DB ✅ KÉSZ Táblák és kategóriák az SQL-lel feltöltve.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.34 | 2026.01.27 - 23:25)
|
||||
Tábla Ellenőrizendő mezők Cél
|
||||
users first_name, last_name Regisztráció alapfeltétele.
|
||||
audit_logs ip_address, endpoint Naplózás hiba elkerülése.
|
||||
verification_tokens token_hash Aktiváló email hiba elkerülése.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.33 | 2026.01.27 - 23:15)
|
||||
Állomány Státusz Megjegyzés
|
||||
user.py ✅ FIXÁLVA Kapcsolatok kikommentelve, SQLAlchemy hiba megszűnt.
|
||||
main.py ✅ KÉSZ V1 és V2 útvonalak a helyükön.
|
||||
docker 🟢 FUT A konténer elindult.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.32 | 2026.01.27 - 23:05)
|
||||
Hiba Állapot Megoldás
|
||||
500 Internal Error 🔍 DIAGNÓZIS ALATT Logok ellenőrzése szükséges.
|
||||
Audit Logs 🏗️ BŐVÍTÉS ip_address oszlop ellenőrzése.
|
||||
Vehicle Seeding ⏳ VÁRAKOZIK Az alapvető regisztráció után indul.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.27 | 2026.01.27 - 22:15)
|
||||
Hiba Megoldás Státusz
|
||||
Missing Module (requests) Lecserélve urllib-re (standard lib). ✅ MEGOLDVA
|
||||
Syntax Error (törmelék kód) tee parancsal felülírva a teljes fájl. ✅ MEGOLDVA
|
||||
API Egységesség V1 eltávolítva, minden a V2 alatt fut. ✅ MEGOLDVA
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.27 | 2026.01.27 - 22:15)
|
||||
Hiba Megoldás Státusz
|
||||
Missing Module (requests) Lecserélve urllib-re (standard lib). ✅ MEGOLDVA
|
||||
Syntax Error (törmelék kód) tee parancsal felülírva a teljes fájl. ✅ MEGOLDVA
|
||||
API Egységesség V1 eltávolítva, minden a V2 alatt fut. ✅ MEGOLDVA
|
||||
|
||||
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.27 | 2026.01.27 - 22:15)
|
||||
Hiba Megoldás Státusz
|
||||
Missing Module (requests) Lecserélve urllib-re (standard lib). ✅ MEGOLDVA
|
||||
Syntax Error (törmelék kód) tee parancsal felülírva a teljes fájl. ✅ MEGOLDVA
|
||||
API Egységesség V1 eltávolítva, minden a V2 alatt fut. ✅ MEGOLDVA
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.26 | 2026.01.27 - 22:12)
|
||||
Modul Státusz Javítás
|
||||
main.py 🟢 AKTÍV Szintaktikai hiba eltávolítva.
|
||||
v2/auth.py 🟢 AKTÍV Tartalom frissítve, V1 függőség levágva.
|
||||
Container 🟢 FUT Újraindítás után online.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.25 | 2026.01.27 - 22:01)
|
||||
Tábla Verzió Státusz Megjegyzés
|
||||
users DB ✅ KÉSZ first_name, last_name oszlopok a helyükön.
|
||||
email_providers DB ✅ KÉSZ SendGrid (id: 5) aktív a CSV alapján.
|
||||
API Routes Kód ⚠️ ZAVAROS V1 és V2 keveredés.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.23 | 2026.01.27 - 22:30)
|
||||
Feladat Státusz Megoldás
|
||||
Email duplikáció 🛠️ JAVÍTÁS ALATT DELETE + UNIQUE CONSTRAINT SQL.
|
||||
Auth.py telepítés ✅ KÉSZ Heredoc (cat) módszerrel frissítve.
|
||||
500-as hiba 🔍 TESZTELÉSRE VÁR Az SQL lefutása után elvileg megszűnik.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.22 | 2026.01.27 - 22:15)
|
||||
Modul Állapot Megjegyzés
|
||||
Auth API ✅ KÉSZ auth.py frissítve, mezők szinkronban.
|
||||
Email Providers ✅ KÉSZ Duplikációk törölve, SendGrid aktív.
|
||||
Audit Log ✅ KÉSZ Minden regisztrációt naplóz (IP-vel).
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.21 | 2026.01.27 - 22:05)
|
||||
Tábla Séma Változás Státusz
|
||||
users data first_name, last_name mezők aktívak ✅ KÉSZ
|
||||
email_providers data unique_provider_name kényszer hozzáadva ✅ KÉSZ
|
||||
auth.py Fájl Kereszt/Vezetéknév szétválasztva ✅ KÉSZ
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.20 | 2026.01.27 - 21:55)
|
||||
Funkció Admin-beállítás (Key) Érték
|
||||
Bot-védelem registration_throttle_minutes 10
|
||||
Helyszín-szűrő allowed_countries_list [EU Országok]
|
||||
E-mail Motor email_providers SendGrid (Aktív)
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.19 | 2026.01.27 - 21:45)
|
||||
Funkció Módszer Beállítás helye
|
||||
Bot-védelem IP Throttling (10 perc) audit_logs alapján a kódban
|
||||
EU-szűrés Geo-IP lookup EU_COUNTRIES halmaz a kódban
|
||||
Naplózás Automatikus audit_logs tábla
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.18 | 2026.01.27 - 21:40)
|
||||
Tábla Séma Cél Státusz
|
||||
users data Felhasználók törzsadatai 🔍 Audit folyamatban
|
||||
email_providers data SMTP/API elérések 🔍 Audit folyamatban
|
||||
audit_logs data Műveleti napló ✅ Ellenőrzésre vár
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.18 | 2026.01.27 - 21:40)
|
||||
Tábla Séma Aktuális mezők (Modell szerint) Státusz
|
||||
users data
|
||||
|
||||
id, email, hashed_password, first_name, last_name, role, is_active...
|
||||
⚠️ Ellenőrzés alatt
|
||||
audit_logs data
|
||||
|
||||
table_name megerősítve
|
||||
✅ Létezik
|
||||
verification_tokens data
|
||||
|
||||
table_name megerősítve
|
||||
✅ Létezik
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.17 | 2026.01.27 - 22:30)
|
||||
Modul Állapot Következő akció
|
||||
Auth v1 ✅ KÉSZ Swagger tesztelés a felhasználó által.
|
||||
Audit/Email Log ✅ KÉSZ Validálás a pgAdminban.
|
||||
Vehicle Catalog 🏗️ TERVEZÉS Tábla létrehozás a teszt után.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.16 | 2026.01.27 - 22:10)
|
||||
Modul Állapot Funkció
|
||||
Auth System ✅ KÉSZ Regisztráció + Aktiválás + Jelszó reset (Audit loggal).
|
||||
Email Manager ✅ KÉSZ Többcsatornás, Throttling védett küldés.
|
||||
Locations ✅ KÉSZ Koordináta alapú keresés alapjai.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.15 | 2026.01.27 - 21:55)
|
||||
Tábla Státusz Szerep
|
||||
data.verification_tokens ✅ AKTÍV Jelszó-visszaállító és regisztrációs kulcsok.
|
||||
data.audit_logs ✅ AKTÍV Felhasználói mozdulatok naplózása.
|
||||
data.email_logs ✅ AKTÍV Kiküldött emailek követése és Throttling.
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.14 | 2026.01.27 - 21:40)
|
||||
Tábla Séma Feladat Státusz
|
||||
audit_logs data Felhasználói aktivitás követése ✨ ÚJ
|
||||
system_settings data Minden paraméter vezérlése ✅ Bővítve
|
||||
email_providers data Multi-channel e-mail ✅ SendGrid kész, Brevo várható
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.13 | 2026.01.27 - 20:30)
|
||||
Tábla Séma Cél Státusz
|
||||
email_providers data SMTP/API adatok & Prioritás ✅ Adattal feltöltve (SendGrid)
|
||||
email_logs data Audit log & Throttling ✅ Aktív
|
||||
verification_tokens data Biztonsági kódok (Reg/Reset) ✅ Szerkezet kész
|
||||
|
||||
📘 ADATBÁZIS ÁLLAPOT KÖNYV (v2.12 | 2026.01.27 - 21:35)
|
||||
Tábla Séma Státusz Megjegyzés
|
||||
email_providers data ✅ KÉSZ Tárolja az SMTP/API eléréseket és prioritásokat.
|
||||
email_logs data ✅ KÉSZ Biztosítja a 3 perces várakozást (Throttling).
|
||||
verification_tokens data ✅ KÉSZ Biztonságos token-alapú regisztrációhoz.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.7 | 2026.01.27 - 22:15)
|
||||
Objektum Típus Állapot Szerep
|
||||
data.system_settings Tábla ✅ Minden üzleti paraméter forrása.
|
||||
data.organization_locations Tábla ✅ Pontos GPS koordináták és címek.
|
||||
orgtype.SERVICE Enum ✅ Szerviz partnerek megkülönböztetése.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.7 | 2026.01.27 - 21:25)
|
||||
|
||||
Audit: A beküldött CSV fájlok (tablak_2026.01.27_2.csv) igazolták, hogy a változók nevei és értékei megfelelnek a Python kód igényeinek.
|
||||
|
||||
Javítás: Az Enum SERVICE értékét leválasztottuk az insert-ről, így az integritás helyreállt.
|
||||
|
||||
Adat: A Gumi Mester Kft. adatai a "Pesti Gyorsszerviz" és "Budaörsi Telep" helyszínekkel mostantól alkalmasak a térbeli keresési tesztre.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.6 | 2026.01.27 - 21:25)
|
||||
Tábla Séma Oszlopok Állapot
|
||||
organizations data id, name, org_type (enum), slug ✅ SZINKRONIZÁLVA (SERVICE enum kész)
|
||||
organization_locations data id, org_id, lat, lng, address ✅ AKTÍV (Térbeli alapok kész)
|
||||
system_settings data key_name, value_json, org_id... ✅ VALIDÁLVA (A CSV alapján minden kulcs él)
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.6 | 2026.01.27 - 21:10)
|
||||
|
||||
Integritás: A data séma és a public enumok közötti ellentmondás feloldva.
|
||||
|
||||
Változók állapota: A beküldött CSV igazolta, hogy a MatchingService és a ConfigService számára minden paraméter rendelkezésre áll.
|
||||
|
||||
Helyszín adatok: Budapesti teszt koordináták (Budaörs és Váci út) előkészítve a keresési teszthez.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.5 | 2026.01.27 - 21:10)
|
||||
Tábla Séma Mezők Státusz
|
||||
organizations data id, name, org_type, slug ✅ Enum javítva (SERVICE hozzáadva)
|
||||
organization_locations data id, org_id, lat, lng, label ✨ Létrehozva a geolokációhoz
|
||||
system_settings data key_name, value_json ✅ Validálva a beküldött CSV alapján
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.5 | 2026.01.27 - 20:50)
|
||||
|
||||
Kritikus hiba: Az orgtype enum nem ismeri a "SERVICE" értéket. Ez blokkolja a tesztadatok (Gumi Mester Kft.) beszúrását.
|
||||
|
||||
Séma helyzet: A public -> data költöztetés elvileg megtörtént, de az audit SQL-lel validáljuk.
|
||||
|
||||
Változók: A nevek (key_name, value_json) megfelelnek a Python ConfigService elvárásainak.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.4 | 2026.01.27 - 20:50)
|
||||
Tábla Séma Státusz Megjegyzés
|
||||
users data ✅ Stabil Tartalmazza az is_staff mezőt.
|
||||
organizations data ⚠️ Ellenőrzés alatt Az org_type enum értékeit tisztázni kell.
|
||||
organization_members data ✅ Stabil unique_user_org kényszer aktív.
|
||||
system_settings data ✅ Stabil Hierarchikus index és kulcsok rendben.
|
||||
organization_locations data ✨ Létrehozva Készen áll a koordináták fogadására.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.4 | 2026.01.27 - 20:30)
|
||||
|
||||
Séma Tisztaság: Megkezdődött a public séma kiürítése, az üzleti logika izolált.
|
||||
|
||||
Helyszín Kezelés: Mostantól támogatjuk, hogy egy szerviznek több pontja legyen a térképen.
|
||||
|
||||
Keresési Logika: A következő lépésben a MatchingService már nem fix listából, hanem ebből az organization_locations táblából fog válogatni.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.3 | 2026.01.27 - 20:30)
|
||||
Tábla Séma Változás Megjegyzés
|
||||
organizations data ✅ Stabil Fő szervezeti adatok.
|
||||
service_providers data 🚚 Áthelyezve Migrálva a public sémából.
|
||||
organization_locations data ✨ ÚJ Koordináták (lat, lng) tárolása
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.3 | 2026.01.27 - 20:45)
|
||||
|
||||
Migráció: Előkészítve a public -> data áthelyezés.
|
||||
|
||||
Geolokáció: A koordináták tárolása külön organization_locations táblába kerül a multi-site támogatás érdekében.
|
||||
|
||||
Matematika: A távolság számításához a Haversine-formulát fogjuk használni:
|
||||
d=2rarcsin(sin2(2ϕ2−ϕ1)+cos(ϕ1)cos(ϕ2)sin2(2λ2−λ1))
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.2 | 2026.01.27 - 20:45)
|
||||
Tábla Séma Változás Cél
|
||||
organizations data Move from public Üzleti adatok izolálása.
|
||||
service_providers data Move from public Üzleti adatok izolálása.
|
||||
organization_locations data ÚJ TÁBLA Geofencing és Smart Match alapja.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.2 | 2026.01.27 - 19:50)
|
||||
|
||||
Audit: Az organizations tábla szerkezete beazonosítva. Hiányoznak a közvetlen helyadatok (geolokáció).
|
||||
|
||||
Folytonosság: A ConfigService és a MatchingService felkészült, már csak a "bemeneti forrást" (a valódi koordinátákat) kell becsatornáznunk.
|
||||
|
||||
Kockázat: Alacsony. Ha megvan a helyszín tábla, egy egyszerű JOIN-nal összekötjük a szervizeket a helyükkel.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.1 | 2026.01.27 - 19:50)
|
||||
Tábla Oszlopok Típus Leírás
|
||||
organizations
|
||||
|
||||
id, name, org_type, slug, is_active
|
||||
|
||||
|
||||
int, varchar, Enum, boolean
|
||||
|
||||
|
||||
Szervezetek törzsadatai.
|
||||
system_settings key_name, value_json, org_id varchar, jsonb, int Dinamikus szabályok és súlyok.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.1 | 2026.01.27 - 20:20)
|
||||
|
||||
API: /api/v1/search/match végpont ✅ LÉTREHOZVA.
|
||||
|
||||
Logika: MatchingService ✅ LÉTREHOZVA.
|
||||
|
||||
Adat: SQL paraméterek ✅ BETÖLTVE.
|
||||
|
||||
Hiány: A szervizek földrajzi helyzetének (lat/lng) pontos táblája és oszlopneve.
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v2.0 | 2026.01.27 - 20:20)
|
||||
Tábla Séma Funkció Megjegyzés
|
||||
system_settings data Konfigurációk Súlyozási paraméterek rögzítve.
|
||||
organizations data Entitások Itt keressük majd a szervizeket (role='service').
|
||||
service_specialties data Képességek Ez alapján szűrünk a konkrét hibára.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v2.0 | 2026.01.27 - 19:40)
|
||||
|
||||
SQL Audit: A 4 alapvető rangsorolási paraméter immár az adatbázisban él (INSERT 0 4).
|
||||
|
||||
Szerviz Réteg: A MatchingService sikeresen létrejött, a kód képes elvégezni a súlyozott számítást.
|
||||
|
||||
Hiba elhárítva: A PermissionError a sudo használatával áthidalva.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.9 | 2026.01.27 - 19:40)
|
||||
Tábla Séma Kulcsfontosságú változás
|
||||
system_settings data Beépítve a súlyozási konstansok (distance, rating, bonus).
|
||||
ranking_policies data Üres, de a struktúra készen áll a komplexebb szabályokhoz.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v1.9 | 2026.01.27 - 19:30)
|
||||
|
||||
Algoritmus: Kész. A pontszámítás képlete:
|
||||
S=(Pdist⋅Wdist)+(Prate⋅Wrate)+Btier
|
||||
|
||||
Rugalmasság: ✅ Teljes. A MatchingService minden kérésnél frissen kéri le a súlyokat a ConfigService-től.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.8 | 2026.01.27 - 19:30)
|
||||
Tábla Oszlop Típus Leírás
|
||||
system_settings value_json jsonb Itt tároljuk a weight_distance és weight_rating értékeket.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v1.8 | 2026.01.27 - 19:15)
|
||||
|
||||
Esemény: A korábbi kód-korrupció észlelése és javítása.
|
||||
|
||||
Integritás: A Python config hívás most már tiszta szintaxissal fut a fleet.py-ban.
|
||||
|
||||
Adat: Az Admin Flotta (ID: 1) készen áll a dinamikus limitek tesztelésére.
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.7 | 2026.01.27 - 19:15)
|
||||
Tábla Séma Főbb indexek Státusz
|
||||
system_settings data idx_settings_lookup ✅ AKTÍV
|
||||
organizations data slug_unique ✅ AKTÍV
|
||||
vehicles data vin_unique ✅ AKTÍV
|
||||
|
||||
ADATBÁZIS ÁLLAPOT NAPLÓ (v1.7 | 2026.01.27 - 19:10)
|
||||
|
||||
Szinkron: A ConfigService kódja és a system_settings tábla oszlopai (key_name, value_json) megegyeznek.
|
||||
|
||||
Tesztre kész: Az adatbázisban a max_vehicles értéke 3, az Admin pedig az 1-es szervezetben van.
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.6 | 2026.01.27 - 19:10)
|
||||
Tábla Séma Állapot Funkció
|
||||
system_settings data ✅ Aktív Hierarchikus konfiguráció (key_name, value_json).
|
||||
vehicles data ✅ Stabil Járművek törzsadatai.
|
||||
vehicle_ownership data ✅ Stabil User-Vehicle összerendelés.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v1.6 | 2026.01.27 - 11:15)
|
||||
Audit: A max_vehicles = 3 rekord sikeresen létrejött a data.system_settings táblában.
|
||||
|
||||
Hierarchia: A idx_settings_lookup index biztosítja, hogy az egyedi (Org/Tier/Region) felülbírálások ne ütközzenek.
|
||||
|
||||
Előkészítve: A fleet.py és a ConfigService kódja megvan, csak a fájlrendszerbe kell írni őket.
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.5 | 2026.01.27 - 11:15)TáblaSémaFőbb mezőkCélsystem_settingsdatakey_name, value_json, org_idA hierarchikus szabálymotor tárolója.organizationsdataid, name, slugSzervezeti egységek (pl. Admin Flotta).organization_membersdatauser_id, organization_id, roleJogosultsági és tagsági háló.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v1.4 | 2026.01.27 - 10:45)
|
||||
Status: max_vehicles = 3 rögzítve a data.system_settings táblában.
|
||||
|
||||
Fájlrendszer: Az app/services/ mappa létezik, de a config_service.py még hiányzik.
|
||||
|
||||
Elmaradás: Szükségem van a korábban kért SQL lekérdezés eredményére (Admin org_id és role), hogy a tesztelésnél tudjuk, melyik szervezetet nézzük.
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.3 | 2026.01.27 - 10:45)TáblaSémaMezőkMegjegyzéssystem_settingsdatakey_name, value_json, region_code, tier_id, org_idHierarchikus motor.vehiclesdataid, vin, plate_number, model_idDigitális iker alapadatai.vehicle_ownershipdatauser_id, vehicle_id, is_activeKapcsolati tábla (Kié az autó?).
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v1.3 | 2026.01.27 - 10:15)
|
||||
Állapot: ✅ Stabil és szinkronban a kóddal.
|
||||
|
||||
Változás: A Python ConfigService immár az app/services/ alá került, követve a tiszta architektúrát.
|
||||
|
||||
Audit: Az SQL-ben korábban rögzített max_vehicles (3) rekord elérhető a service számára.
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (v1.2 | 2026.01.27 - 10:15)TáblaSémaMezőkMegjegyzéssystem_settingsdatakey_name, value_json, region_code, tier_id, org_idA hierarchikus beállítások tárolója.ranking_policiesdatapolicy_name, distance_weight, rating_weightA szerviz-kereső súlyozási szabályai.
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (v1.2 | 2026.01.27 - 10:10)
|
||||
Állapot: ✅ Stabil.
|
||||
|
||||
Utolsó SQL: INSERT INTO data.system_settings (max_vehicles) sikeresen lefutott.
|
||||
|
||||
Változás: A key_name és value_json elnevezések rögzítve.
|
||||
|
||||
Következő cél: A fleet.py-ban a fix 3-as korlát kiváltása config.get_setting('max_vehicles') hívással.
|
||||
ADATBÁZIS SÉMA KÖNYV (v1.1 | 2026.01.27 - 10:10)TáblaOszlopok (Lényegesek)Kényszerek / Indexekdata.system_settingskey_name, value_json, region_code, tier_id, org_ididx_settings_lookup (Unique)data.ranking_policiespolicy_name, distance_weight, rating_weightid (PK)data.organization_membersorganization_id, user_id, roleunique_user_org
|
||||
|
||||
🗄️ ADATBÁZIS ÁLLAPOT NAPLÓ (DB State Book)
|
||||
Integritás: ✅ Kiváló. Az oszlopnevek szinkronizálva (key_name, value_json).
|
||||
|
||||
Utolsó művelet: idx_settings_lookup index létrehozva, max_vehicles alapérték beszúrva.
|
||||
|
||||
Kockázat: Nincs. A séma stabil az API fejlesztéséhez.
|
||||
|
||||
🗄️ 3. Adatbázis Állapot Napló (DB State Book)
|
||||
Tábla neve Séma Állapot Megjegyzés
|
||||
system_settings data ✅ Stabil Tartalmazza a key_name, value_json és a 3 szintű override oszlopot.
|
||||
ranking_policies data ✅ Kész A szerviz-rangsorolás súlyait tárolja.
|
||||
idx_settings_lookup data ✅ Aktív Biztosítja a hierarchikus egyediséget.
|
||||
|
||||
PM senior
|
||||
Egyéni gem
|
||||
Úgy tűnik, a system_settings táblád még egy korábbi (talán tegnapi) néven tárolja az oszlopokat, ahol valószínűleg csak simán key és value volt a nevük. A PostgreSQL-ben a key és value foglalt szavak (reserved words), ezért javasoltam a key_name és value_json formátumot – de a tábla most épp "félúton" van a két állapot között.
|
||||
|
||||
Tegyünk rendet egy olyan SQL-lel, ami felismeri a régi neveket és átnevezi őket az újra, így nem kell törölni semmit!
|
||||
|
||||
🛠️ 1. Adatbázis „Helyrerakó” Script (psql / pgAdmin)
|
||||
Futtasd le ezt. Ez a script intelligensen átnevezi az oszlopokat, ha a régi néven találja meg őket:
|
||||
|
||||
SQL
|
||||
DO $$
|
||||
BEGIN
|
||||
-- 1. Oszlopnevek egységesítése
|
||||
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='system_settings' AND column_name='key') THEN
|
||||
ALTER TABLE data.system_settings RENAME COLUMN "key" TO key_name;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='system_settings' AND column_name='value') THEN
|
||||
ALTER TABLE data.system_settings RENAME COLUMN "value" TO value_json;
|
||||
END IF;
|
||||
|
||||
-- 2. Hiányzó hierarchia oszlopok pótlása
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='system_settings' AND column_name='region_code') THEN
|
||||
ALTER TABLE data.system_settings ADD COLUMN region_code VARCHAR(5);
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='system_settings' AND column_name='tier_id') THEN
|
||||
ALTER TABLE data.system_settings ADD COLUMN tier_id INTEGER;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='system_settings' AND column_name='org_id') THEN
|
||||
ALTER TABLE data.system_settings ADD COLUMN org_id INTEGER;
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- 3. Index frissítése (most már biztosan léteznek az oszlopok)
|
||||
DROP INDEX IF EXISTS data.idx_settings_lookup;
|
||||
CREATE UNIQUE INDEX idx_settings_lookup ON data.system_settings
|
||||
(key_name, COALESCE(region_code, ''), COALESCE(tier_id, 0), COALESCE(org_id, 0));
|
||||
|
||||
-- 4. Alapértelmezett érték beszúrása tesztnek
|
||||
INSERT INTO data.system_settings (key_name, value_json, description)
|
||||
VALUES ('max_vehicles', '3'::jsonb, 'Globális alapértelmezett járműlimit a Free csomagban')
|
||||
ON CONFLICT (key_name, COALESCE(region_code, ''), COALESCE(tier_id, 0), COALESCE(org_id, 0)) DO NOTHING;
|
||||
📚 2. Változó Könyv (Variable Map) v1.1
|
||||
A rendszer paramétereinek aktuális állapota és hivatkozási pontjai.
|
||||
|
||||
Kulcs (Key) Adattípus Alapértelmezés Szerep Hivatkozás (Fájl/Modul)
|
||||
max_vehicles int 3 Free flotta méret korlát fleet.py -> ConfigService
|
||||
search_radius int 20 Alap keresési távolság search.py -> ConfigService
|
||||
ranking_policy json {...} Súlyozási együtthatók RankingEngine
|
||||
🗄️ 3. Adatbázis Állapot Napló (DB State Book)
|
||||
Tábla neve Séma Állapot Megjegyzés
|
||||
system_settings data ✅ Stabil Tartalmazza a key_name, value_json és a 3 szintű override oszlopot.
|
||||
ranking_policies data ✅ Kész A szerviz-rangsorolás súlyait tárolja.
|
||||
idx_settings_lookup data ✅ Aktív Biztosítja a hierarchikus egyediséget.
|
||||
|
||||
📘 ADATBÁZIS SÉMA KÖNYV (Database Schema Book) v1.0
|
||||
A rendszer jelenlegi fizikai struktúrája
|
||||
|
||||
Séma: data
|
||||
users
|
||||
|
||||
id: serial (PK)
|
||||
|
||||
email: varchar (Unique)
|
||||
|
||||
is_staff: boolean (Admin/Moderátor jelző)
|
||||
|
||||
organizations
|
||||
|
||||
id: serial (PK)
|
||||
|
||||
name: varchar
|
||||
|
||||
slug: varchar (Unique, url-barát azonosító)
|
||||
|
||||
organization_members
|
||||
|
||||
id: serial (PK)
|
||||
|
||||
organization_id: int (FK -> organizations)
|
||||
|
||||
user_id: int (FK -> users)
|
||||
|
||||
role: public.orguserrole (Enum)
|
||||
|
||||
is_permanent: boolean
|
||||
|
||||
Constraint: unique_user_org (organization_id, user_id)
|
||||
|
||||
system_settings (A konfigurációs motor agya)
|
||||
|
||||
id: serial (PK)
|
||||
|
||||
key_name: varchar (Unique-index része)
|
||||
|
||||
value_json: jsonb (Dinamikus érték)
|
||||
|
||||
region_code: varchar(5) (Override szint)
|
||||
|
||||
tier_id: int (Override szint)
|
||||
|
||||
org_id: int (Override szint)
|
||||
|
||||
ranking_policies
|
||||
|
||||
id: serial (PK)
|
||||
|
||||
policy_name: varchar
|
||||
|
||||
distance_weight: numeric(3,2)
|
||||
|
||||
rating_weight: numeric(3,2)
|
||||
|
||||
tier_bonus: int
|
||||
Reference in New Issue
Block a user