1、慎用CreatedAt、UpdatedAt和DeletedAt字段
要疯了。数据库的字段要避开这created_at、updated_at、deleted_at字段,改为created_time、updated_time和deleted_time。
2、查询的时候,如果没有查到记录也算一个err,需要在我们正常理解的err之前判断,类似如下的顺序:
err := db.
Table(GroupChatTableName).
Select("gc_status").
Where(map[string]interface{}{
"gc_id": gid,
}).
Find(&group).
Error
// 这个要在err前面,因为在gorm里找不到记录也算错误
if db.RecordNotFound() {
log.Errorf("query group chat not found")
return 0, nil
}
if err != nil {
log.Errorf("query group chat info by gid failed, err: %v", err)
return 0, err
}