草庐IT

dictionary - map[gorm.DB]struct{}{} 给出无效的映射键类型 gorm.DB

我想创建一组在我的应用程序中使用的gorm类型。所以我想用我的类型定义一个mapgorm.DB作为键和空的结构{}作为标志:var(autoMigrationsmap[gorm.DB]struct{})但是编译器不允许我这样做并出现错误:invalidmapkeytypegorm.DB。我可以使用指向gorm.DB的指针来欺骗它,例如:map[*gorm.DB]struct{}但这不是解决方案,因为我需要使它独一无二,如果我的map像db.AutoMigrate(&Chat{})一样填充,我可以获得许多具有不同地址的相似对象。另一个解决方案是制作一片gorm.DB:autoMigrat

go - 如何从另一个文件或包导入 gorm db 连接

我正在学习go,我最近学习了如何利用gorm连接到数据库。我不知道如何导入所述连接。仅在funcmain()的范围内打开和延迟它的关闭我目前拥有的:funcmain(){db,_:=gorm.Open("postgres","host=localhostport=5432user=someUserdbname=someDBpassword=somePWsslmode=disable")deferdb.Close()}这很好用,我可以创建表并执行CRUD...但所有操作都在main函数中进行。无论如何我可以做这样的事情(它没有用)并在main中使用它:funcdb(){db,_:=gor

go - gorm 的自动预加载无法按预期工作

我正在尝试自动预加载我的模型,但这样做有困难。这些是我正在使用的模型:packagedomaintypeUserstruct{gorm.ModelNamestringCarCar`gorm:"auto_preload"`AccountAccount`gorm:"auto_preload"`}typeCarstruct{gorm.ModelTypeintUserIDuint}typeAccountstruct{gorm.ModelPowerlevelintUserIDuint}这是我为测试自动预加载功能而执行的代码:funcmain(){db,err:=gorm.Open("sqlite

database - Go 和 Postgresql 中带有 gorm 的十进制类型

所以我正在创建一个API,我需要存储一些东西的价格。我正在使用gorm和gormigrate进行数据库迁移。我只是想知道我应该使用什么类型来存储小数。我在存储货币时不应该使用float的地方变红了。typeMyStructstruct{Namestring`json:"name"gorm:"notnull"`Descriptionstring`json:"description"gorm:"null"`Price`json:"price"`} 最佳答案 所以,根据@ain的建议,我使用了shopspring/decimal。但是当我

go - 如何使用gorm制作外键

我有这两个模型:用户模型:typeUserstruct{DBBaseEmailstring`gorm:"column:email"json:"email"`Passwordstring`gorm:"column:password"json:"-"`}func(User)TableName()string{return"t_user"}用户信息模型:typeUserInfostruct{UserUser`gorm:"foreignkey:u_id;association_foreignkey:id"`UIDuint`gorm:"column:u_id"json:"-"`FirstName

go - 我怎样才能在 golang gorm 中与 self 建立多对多的关系?

我有一个psql数据库,我正在使用gorm库和pq驱动程序,如您所见,相关产品存在多对多关系,但这会抛出错误pq:column"product_id"指定了不止一次有没有办法设置别名,或者我是否以错误的方式解决这个问题?typeProductstruct{Idint64`json:"_id"`Pricefloat32`json:"price"`Namestring`sql:"size:255"json:"name"`Descriptionstring`json:"description"`Materialstring`json:"material"`Colorstring`json:"

mysql - 在 golang 中与 gorm 的一对多关系不起作用

我有两个表:typePersonstruct{IDintFirstNamestringLastNamestringFunctions[]Function}typeFunctionstruct{gorm.ModelInfostringPersonPerson}我这样创建表格:db.AutoMigrate(&models.Person{},&models.Function{})然后我初始化数据库:user:=models.Person{FirstName:"Isa",LastName:"istcool",Functions:[]models.Function{{Info:"Trainer"

go - 如何删除 GORM 中有关系的表?

我删除了对象并希望在关系表中也删除它的ID。我该怎么做?即删除了具有关系的对象,但保留了它们的关系表。还想问一下,GORM是Go-Gin最好的ORM解决方案吗? 最佳答案 尝试显式添加外键和ONDELETECASCADE到您的模型。我发现GORM在处理这种事情时可能会出现问题,但明确地执行它似乎总能使其发挥作用。例如:typePersonstruct{IDintBioBiography`gorm:"Foreignkey:PersonID;"`Namestring}typeBiographystruct{IDintContentstr

go - 为什么 created_at,update_at 与我本地时间 gorm golang 不一样?

我正在使用gormhttp://jinzhu.me/gorm/在我的golang项目中处理数据库。当我更新记录时,update_at时间与我的本地时间服务器不同。我该如何解决?? 最佳答案 我发现了我的问题。当连接到数据库时,我错过了“&loc=Local”参数。它导致了我的上述问题。感谢收看! 关于go-为什么created_at,update_at与我本地时间gormgolang不一样?,我们在StackOverflow上找到一个类似的问题: https:

go - 如何用 GORM (Go) 处理级联操作

我正在测试Go的GORM库。我发现这个库特别有用,而且我一步一步地玩弄越来越复杂的概念。我面临着级联运营管理的问题。在某些问题上,创建者建议使用AfterDelete。问题是:在After/BeforeDelete函数中,嵌套项不存在。大家有好的实现方法吗?这是我的代码(如果有人发现Gorm,几乎可以工作):packagemainimport("time""github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/sqlite""fmt""github.com/satori/go.uuid")typeCompanystruct{I