Prava ispravka: usluge/troskovi.datum_unosa promenjen na DATETIME u šemi
Umesto ručnog parsiranja (prethodni commit), migracija 103 rekreira obe tabele sa DATETIME kolonom (kao svuda drugde u šemi) — SQLite ne podržava ALTER COLUMN, pa je urađeno kreiraj-novu/prebaci-podatke/obriši-staru/ preimenuj. Fizički format podataka se ne menja (SQLite nema pravi numerički afinitet za DATETIME nad ovakvim stringom), menja se samo deklarisani tip kolone koji driver čita da odluči string vs time.Time pri Scan-u. Uklonjen parseDatumUnosa workaround iz utils.go — skenirajUslugu/skenirajTrosak sada rade identično kao svi ostali skenirajX helperi (direktan Scan u time.Time). Potvrđeno: migracija testirana na praznoj i na postojećoj bazi sa podacima (6 usluga, ID-jevi i datumi netaknuti), /usluge i /troskovi vraćaju 200.
This commit is contained in:
@@ -26,15 +26,11 @@ func skenirajUslugu(s interface {
|
||||
var u model.Usluga
|
||||
var sifra sql.NullString
|
||||
var arhiviran int
|
||||
var datumUnosa string
|
||||
if err := s.Scan(&u.ID, &sifra, &u.Naziv, &u.Kategorija, &u.JedinicaMere, &u.Cena, &u.PdvStopa, &u.Opis, &arhiviran, &datumUnosa); err != nil {
|
||||
if err := s.Scan(&u.ID, &sifra, &u.Naziv, &u.Kategorija, &u.JedinicaMere, &u.Cena, &u.PdvStopa, &u.Opis, &arhiviran, &u.DatumUnosa); err != nil {
|
||||
return u, err
|
||||
}
|
||||
u.Sifra = sifra.String
|
||||
u.Arhiviran = arhiviran == 1
|
||||
if t, err := parseDatumUnosa(datumUnosa); err == nil {
|
||||
u.DatumUnosa = t
|
||||
}
|
||||
return u, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user