← DokArh Portal
SESIJA_LOG

Sesija 2026-05-15 DIO 4 — Tahograf PostgreSQL migracija

Kreator: CC-Sonnet Datum: 2026-05-15 Status:
WeisE3™ ID: (nema)
tipSESIJA_LOG
kontekstIvan je uočio da tahograf-mvp koristi SQLite kao primarnu bazu i odmah naredio migraciju. ZAKON 3: baza je sjena, DokArh je istina.
sto_je_radeno[ "Analiza problema: tahograf-mvp/api/models.py koristio SQLite (DB_PATH, check_same_thread), ne PostgreSQL", "Kreirana PostgreSQL baza: tahograf_db, korisnik tahograf_user s jakom lozinkom", "models.py potpuno repisano: SQLite engine → SQLAlchemy + psycopg2, connection pool (pool_size=5, max_overflow=10)", "TAHOGRAF_DATABASE_URL dodan u .env (oba: /var/www/genesis/.env i tahograf-mvp/api/.env)", "Prva iteracija migracije: 2 greške — (1) DispoJob nema bunker_seal_id kolonu, (2) String(
greske_i_rjesenja[ { "greska": "column 'bunker_seal_id' of relation 'dispo_jobs' does not exist", "uzrok": "ZAKON 27 polje dodano u SQLite nakon inicijalne kreacije, nije bilo u novom PG modelu", "rjesenje": "Dodano bunker_seal_id = Column(String(64)→128, default='', index=True) u DispoJob" }, { "greska": "value too long for type character varying(64) — weise3_id: 'WEISE3::e8a41d6f...'", "uzrok": "WEISE3:: prefix (8 chars) + SHA256 hash (64 chars) = 72 chars, String(64) premalo", "r
kljucne_odluke[ "String(128) kao standard za sve weise3 identifikatore — jednom zauvijek, bez iznimki", "SQLite arhiva zadržana (ne obrisana) — backup ako treba history lookup", "migrate_genesis_columns() ostaje no-op — PostgreSQL kreira sve kolone pri init_db()", "Health endpoint pokazuje i postgresql i sqlite_arhiva — transparentnost o stanju baze" ]
stanje_baze_postgresql{ "dispo_jobs": 7, "dok_documents": 3, "captures": 2, "drivers": 0, "vehicles": 0, "trips": 0, "gps_points": 0, "napomena": "drivers/vehicles/trips/gps = 0 jer SQLite nije imao testnih podataka za te entitete" }
zakoni[ "ZAKON 3 — baza je sjena, DokArh je istina (povod za migraciju)", "ZAKON 27 — svaki model mora imati weise3_id, bunker_seal_id, created_at", "ZAKON 30 — permissions ostaju www-data:www-data", "ZAKON 32 — fix dokumentiran u c0864 + c0865" ]
commitf541d4a
chain_entry_tehnickac0864_migracija_tahograf_postgresql.dok.json
open_threads[ "Drivers/vehicles/trips/gps tablice prazne — popunit će se kad vozači počnu koristiti digigraf.online", "tahograf-mvp API endpointi (FastAPI router) još uvijek čitaju/pišu kroz models.py koji sad ide na PG — treba testirati sve CRUD operacije s pravim JWT", "SQLite arhiva može se obrisati nakon 30 dana ako nema regresija" ]