草庐IT

gorm-gen

全部标签

go - 如何使查询结果结构与我在 GORM Select 上声明的结构相匹配

我想让查询结果的结构与我在GORMSelect中声明的结构相匹配,因为现在它只与Struct结构相匹配。我如何让它工作?提前谢谢你我已经尝试制作新的Struct并且它有效,但我不知道它是否是最佳实践typeUserstruct{User_Iduint`json:"user_id"gorm:"column:user_id;PRIMARY_KEY"`Emailstring`json:"email"`Passwordstring`json:"password"`Tokenstring`json:"token"gorm:"-"`}funcGetUsers()map[string]interfa

postgresql - GORM 创建可能已经存在的记录

我正在使用gorm在我的Go应用程序中使用postgres。我想在数据库中创建一个新用户,但该用户很可能已经存在。如果是这样,我不想对数据库做任何事情,但我想知道它以便告诉用户。好消息是,这已经是gorm.Create(..)做。尝试使用重复的唯一键创建记录将返回错误。有两个问题:我想要更好的错误信息。我想编写针对“此电子邮件地址已存在”与“存在实际内部错误”的自定义面向用户的错误消息。除了尝试解析Create()返回的错误字符串外,我不知道如何区分这两个事件,这似乎很容易出错。我不想弄乱我的日志。使用已存在的对象调用Create()会将错误消息记录到标准输出。我真的不认为这是一个“错

go - 如何使用 gorm 的反射类型来泛化 api 函数

我正在使用go-gorm开发一个包含大量模型的API。到目前为止,对于“GetAll”函数,我一直在使用以下(简化):funcGetAllUsers(w,r){//...getparamsanddosomecheckpages:=[]*models.User{}//但我想避免复制/粘贴函数以仅修改类型(此处为models.User)以从db获取所有模型。我确实尝试过使用反射或接口(interface)的不同方法,但似乎都没有效果:funcGenericGetAll(whttp.ResponseWriter,r*http.Request,datainterface{}){dtype:=r

go - 如何让多个模型在 gorm 中自动迁移

我可以看到我们像这样自动迁移的文档,db.AutoMigrate(&model.TheTodo{})如果我们有很多倍数模型怎么办?db.AutoMigrate(&model.TheTodo{}、&model.TheBlog{}、&model.Employee{}以及更多......)如果我们这样放置,gorm会创建那个表吗?是否有任何方法可以使AutoMigrate内部变短?db.AutoMigrate(allmodels)这可能吗? 最佳答案 一种选择是将结构嵌套在AutoMigrate函数中:db.AutoMigrate(&Us

go - 使用 Gorm 检索有很多问题

当我尝试从播客中取回剧集时,我得到了无效关联[]。不确定我做错了什么。packagemainimport("log""github.com/jinzhu/gorm"_"github.com/mattn/go-sqlite3")typePodcaststruct{IdintTitlestringRssUrlstring`sql:"unique_index"`UrlstringEpisodes[]Episode}typeEpisodestruct{IdintPodcastIDint`sql:"index"`TitlestringUrlstring`sql:"unique_index"`Do

go - 属于关联 Golang Gorm 未找到具有显式 ForeignKey

我有一个像这样的交易结构:typeTradestruct{IDuintBuyExecutionExecution`gorm:"ForeignKey:BuyExecution"`SellExecutionExecution`gorm:"ForeignKey:SellExecution"`PxintSharesint}像这样的执行结构:typeExecutionstruct{IDuintSidestringSymbolstringTrade*Trade}架构:CREATETABLE`executions`(`id`int(11)NOTNULLAUTO_INCREMENT,`side`var

mysql - 在没有 gorm 的情况下使用 mysql db 进行 revel

我已将所有内容放入app.go中,数据库可以正确打开,但Index无法访问全局变量。全局变量似乎不是全局变量,因为如果我在InitDB中分配Db后删除它的使用,我会收到错误“Db已声明但未使用”packagecontrollersimport("database/sql""fmt"_"github.com/go-sql-driver/mysql""github.com/revel/revel")varDb*sql.DBtypeAppstruct{*revel.Controller}func(cApp)Index()revel.Result{ifc.Params.Get("id")=="

postgresql - Golang GORM 中列的自动迁移问题

自动迁移问题(我认为)。我可以通过psql控制台得出该列不存在的结论。我可以通过终端/控制台/SQL手动插入该列,但更喜欢通过自动迁移来解决此问题。感谢您的阅读和/或行动。终端输出:启动Web服务器:“(pq:列“password_hash”包含空值值(value)观)”提交POST:“(pq:关系“accounts”的列“password_hash”不存在)” 最佳答案 来源:JonCalhoun资源:https://www.usegolang.com/"...theshortansweristhatautomigratefail

go - 无法让 GORM 协会按预期工作

我的两个模型是packagemodels//Business...typeBusinessstruct{IDuintNamestring`gorm:"notnull"`TablesTables`gorm:"ForeignKey:BusinessID"`}//Businesses...typeBusinesses[]Business和packagemodels//Table...typeTablestruct{IDuintRefstring`gorm:"notnull"`BusinessBusinessBusinessIDuint}//Tables...typeTables[]Table

postgresql - go-gorm,postgres : simple inserts return error

由于最近的炒作,我正在尝试做简单的插入,试图评估Postgres的有用性。我是一个mongoDB的人。这就是我想要做的:db,e:=gorm.Open("postgres",fmt.Sprintf("host=%suser=%sdbname=%spassword=%ssslmode=disable",pgHost,pgUser,pgDatabase,pgPass))ife!=nil{log.Fatal(e.Error())}deferdb.Close()db.AutoMigrate(&model.Customer{},&model.Email{},&model.Address{},&m