簡體   English   中英

Upsert 包含屬性 updated_at

[英]Upsert with attribute included updated_at

我想將一些腳本回填數據從舊數據庫回填到新數據庫,使用gorm作為 ORM,並且我想使用FirstOrCreate進行 upsert,以下是使用的屬性和查詢:

user {
  ID: someid,
  Name: somename,
  .
  .
  .
  CreatedAt: time.Time,
  UpdatedAt: 2020-03-24 17:57:00,
}

err = db.Where(user{ID: someid}).Assign(user).FirstOrCreate(&user)

我想在新數據庫中,數據原樣( updated_at = 2020-03-24 17:57:00 )但我得到了updated_at is time.Now()

我怎樣才能UPSERT數據與updated_at ,因為我把它更新?

當給定ID存在數據時, FirstOrCreate()調用Updates() Updates()操作將執行模型的BeforeUpdateAfterUpdate方法,更新其UpdatedAt時間戳,更新時保存其關聯,如果您不想調用它們,您可以在數據不存在時使用UpdateColumnUpdateColumns和單獨的Create操作。

參考:關於更新的 Gorm 官方文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM