postgresql - golang ORM 表名
问题描述
我有一些代码可以在 Postgres DB 中创建表
import (
"github.com/jinzhu/gorm"
_ "github.com/lib/pq"
)
type Table struct {
Id int `gorm:"primary_key"`
Name string `gorm:"type:varchar(100)"`
Addr string `gorm:"type:varchar(100)"`
}
func main() {
db, _ := gorm.Open("postgres", "user=postgres password=poilo777 dbname=mydb sslmode=disable")
defer db.Close()
db.CreateTable(&Table{})
user := &Table{Name: "ololo", Addr: "pololo"}
我面临两个问题:1)在数据库中创建了一个表“表”而不是“表”2)如何在现有的另一个表中插入数据?(例如“用户”)
解决方案
1)您可以将表的表名设置为table
func (Table) TableName() string {
return "table"
}
另一种方法是将singularTable设置为true,则Table
默认表名将table
代替tables
。但它会影响所有表。
set db.SingularTable(true)
2)在 ORM 中,你应该定义你的表对象。这是一个名为Table
. Gorm 将在数据库中创建一个名为的新表tables
,除非您想覆盖表的名称,否则您可以按照步骤 1 操作。
推荐阅读
- mysql - MySQL 8 闰秒和夏令时 (DST) 时间 time_zone_name 表
- c# - 如何在 C# 中共享常量
- javascript - 对非“文本/纯”内容的新剪贴板 API 访问
- java - 为什么我的工作区会停止?日食车
- c# - 如何使用棱镜在 wpf 中声明资源?
- arrays - Python 3.73 插入到 bytearray =“对象不能重新调整大小”
- python - wxPython手动滚动面板ScrolledPanel失败,wx.Grid
- python - 在字典中的列表中查找值
- sql - 如何添加限制条件,根据您的出生日期,您只能借一定数量的书籍?
- uitableview - 如何在单元格之间的 UITABLEVIEW 中添加间距?