我打算將 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
},
})
- 1 回答
- 0 關注
- 238 瀏覽
添加回答
舉報
0/150
提交
取消