亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有什么方法可以擺脫 GORM 中的自動列重命名?

有什么方法可以擺脫 GORM 中的自動列重命名?

Go
米琪卡哇伊 2022-06-27 11:15:23
我打算將 GORM 與現有數據庫一起使用,因此我正在為它創建一些模型。但是,我遇到了一個問題 - GORM 會自動將所有列重命名為小寫蛇形。我真的不需要它,因為我使用的數據庫并沒有真正使用這樣的名稱。我發現,我可以使用標簽`gorm:"column_name:`為了防止我的專欄被重命名。但是,這對我來說似乎并不是一個可行的解決方案,因為我有一堆模型,里面有很多列。有沒有辦法從 GORM 中關閉這個“重命名”策略,或者自動為我的所有模型添加標簽?我的模型看起來像這樣:type FOOD_DES struct {NDB_NO string `gorm:"primary_key"`FdGrp_Cd FD_GROUPLong_Desc stringShrt_Desc stringComName stringManufacName stringSurvey stringRef_desc stringRefuse float32SciName stringN_Factor float32Pro_Factor float32Fat_Factor float32CHO_Factor float32}
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

來自文檔:


GORM 允許用戶通過覆蓋需要實現接口 Namer 的默認 NamingStrategy 來更改命名約定


type Namer interface {

  TableName(table string) string

  ColumnName(table, column string) string

  JoinTableName(table string) string

  RelationshipFKName(Relationship) string

  CheckerName(table, column string) string

  IndexName(table, column string) string

}

所以只需實現接口Namer。


在舊版本中,您可以這樣做(參考)


gorm.AddNamingStrategy(&gorm.NamingStrategy{

    DB: func(name string) string {

        return name

    },

    Table: func(name string) string {

        return name

    },

    Column: func(name string) string {

        return name

    },

})


查看完整回答
反對 回復 2022-06-27
  • 1 回答
  • 0 關注
  • 238 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號