3 回答

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

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
默認(rèn)情況下,golang Postgres 客戶(hù)端將隱式使用您 姓名的復(fù)數(shù)形式struct[1]。例如
type Student struct {
FirstName string
LastName string
}
// will create a table name `students`
您可以像下面這樣覆蓋它,具體取決于您使用的內(nèi)容
藍(lán)色的
// 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貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我對(duì)這個(gè)問(wèn)題的解決:
db.Table("my_table").CreateTable(&Table{})
user := &Table{Name: "ololo", Addr: "pololo"}
db.Table("my_table").Create(user)
這段代碼創(chuàng)建了my_table我想要的表
- 3 回答
- 0 關(guān)注
- 197 瀏覽
添加回答
舉報(bào)