Initial commit - Migrated to Dev environment

This commit is contained in:
2026-02-03 19:55:45 +00:00
commit a34e5b7976
3518 changed files with 481663 additions and 0 deletions

595
_Adatbázis_állalot_napló.txt Executable file
View 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