Я пишу приложение, которое связывается с базой данных sqlite3
с помощью GORM ORM. Теперь мне нужно сделать UpdatedAt
столбец отметкой времени unix, потому что другое устаревшее приложение использует ту же базу данных, и они должны быть совместимы.
Поэтому я попытался обновить поле UpdatedAt
с помощью unix отметка времени на BeforeUpdate
перехватывается с использованием следующего блока кода.
func (c *CartItems) BeforeUpdate() (err error) {
fmt.Println("----------------------------------------")
fmt.Println("BeforeUpdate")
fmt.Println( c )
c.UpdatedAt = time.Now().Unix()
fmt.Println("----------------------------------------")
return
}
, но при запуске запрос кода остается прежним и не добавляет отметку времени в базу данных.
журнал Горм
----------------------------------------
BeforeUpdate
&{55 21 4 7 1585607114 1585607114 {0 [] [] [] {0 0 } 0 0} {0 0 0 0}}
----------------------------------------
[2020-03-31 04:30:02] [0.46ms] UPDATE "cart_items" SET "quantity" = 7, "updated_at" = '2020-03-31 04:30:02' WHERE "cart_items"."id" = 55
[1 rows affected or returned ]
[GIN] 2020/03/31 - 04:30:02 | 200 | 97.963597ms | 127.0.0.1 | POST "/cache/cart/21/item"