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 关注
- 130 浏览
添加回答
举报