3 回答

TA貢獻1898條經驗 獲得超8個贊
1)您可以將Table的表名設置為table
func (Table) TableName() string { return "table" }
另一種方法是將singleTable設置為true,那么Table
默認表名將table
代替tables
。但它會對所有表產生相同的影響。
set db.SingularTable(true)
2) 在 ORM 中你應該定義你的表對象。這是一個名為 的結構Table
。Gorm 將在數據庫中創建一個名為的新表,tables
除非您想覆蓋表的名稱,您可以按照步驟 1 操作。

TA貢獻1827條經驗 獲得超8個贊
默認情況下,golang Postgres 客戶端將隱式使用您 姓名的復數形式struct[1]。例如
type Student struct {
FirstName string
LastName string
}
// will create a table name `students`
您可以像下面這樣覆蓋它,具體取決于您使用的內容
藍色的
// Set User's table name to be `profiles`
func (Student) TableName() string {
return "college_students"
}
GO-PQ
type Student struct {
tableName struct{} `pg:"college_students,alias:g"``
}
https://gorm.io/docs/conventions.html#Pluralized-Table-Name

TA貢獻1859條經驗 獲得超6個贊
我對這個問題的解決:
db.Table("my_table").CreateTable(&Table{})
user := &Table{Name: "ololo", Addr: "pololo"}
db.Table("my_table").Create(user)
這段代碼創建了my_table我想要的表
- 3 回答
- 0 關注
- 183 瀏覽
添加回答
舉報