{"id":"c0864","filename":"c0864_migracija_tahograf_postgresql.dok.json","weise3_id":"","tip":"MIGRACIJA","naziv":"Tahograf: SQLite → PostgreSQL migracija (ZAKON 3)","kreator":"CC-Sonnet","datum":"2026-05-15","snippet":"Kreirana PostgreSQL baza tahograf_db, korisnik tahograf_user · models.py migriran: SQLite engine → psycopg2/SQLAlchemy PostgreSQL connection pool (pool_size=5) · ZAKON 27 fix: DispoJob dobio bunker_seal_id kolonu","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"MIGRACIJA","naziv":"Tahograf: SQLite → PostgreSQL migracija (ZAKON 3)","datum":"2026-05-15","autor":"CC-Sonnet","sto_je_napravljeno":["Kreirana PostgreSQL baza tahograf_db, korisnik tahograf_user","models.py migriran: SQLite engine → psycopg2/SQLAlchemy PostgreSQL connection pool (pool_size=5)","ZAKON 27 fix: DispoJob dobio bunker_seal_id kolonu","Schema fix: sva *_weise3 i weise3_id polja STRING(64) → STRING(128) zbog WEISE3:: prefiksa (8 + 64 = 72 chars)","migrate_tahograf.py: 12 zapisa migrirana bez grešaka (2 captures, 3 dok_documents, 7 dispo_jobs, 0 drivers/vehicles/trips/gps)","Health endpoint /api/v1/tahograf/health: SQLite check → PostgreSQL check (dispo_jobs: 7 OK)","SQLite arhiva zadržana na /var/www/genesis/tahograf-mvp/data/tahograf.db (backup, ne primarni)","TAHOGRAF_DATABASE_URL dodan u /var/www/genesis/.env i tahograf-mvp/api/.env","Genesis service restartiran, health: ok=true, postgresql.ok=true"],"zakoni":["ZAKON 3 — baza je sjena, DokArh je istina","ZAKON 27 — bunker_seal_id obavezan","ZAKON 32 — svaki fix ima chain entry"],"fajlovi":["tahograf-mvp/api/models.py","api/tahograf.py",".env"],"napomena":"Drivers/vehicles/trips/gps = 0 jer SQLite nije imao testnih podataka za te tablice. Dispo_jobs i dok_documents su migrirani."}}