问题标签 [go-gorm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 使用 Gorm 检索有很多问题
当我尝试从播客中取回剧集时,我得到invalid association []
. 不知道我做错了什么。
go - 如何使用gorm将记录插入现有的有很多表
我有两张桌子
我知道如何像这样将剧集插入到新的播客中。
如何将剧集添加到稍后已经存在的播客中?
go - 如何使用gorm从数据库中删除项目范围
每次我运行 gorm 查询以从表中删除一系列行时,都会出现以下错误。
在 sqlite3 中直接运行查询返回就好了
示例代码
go - Go:使用数据库初始化从多个包运行测试
我有一个具有这种项目结构的 GO 项目(每个包中有多个此类文件)。
在 user.go 中,我有 User 结构和创建/获取/更新用户的函数(我使用的是 GORM,但这不是问题)。在 user_test.go 中。
我想为每个不同的文件清理数据库(删除所有数据或处于某种状态),所以我尝试为每个文件创建 1 个套件(使用 Testify),然后使用 SetupSuite 函数但是行为似乎不是确定性的,可能我做错了什么。
所以我的问题是:
- 共享数据库连接的最佳方式是什么?使用全局变量是最好的选择吗?
- 在运行每个 file_test.go 之前,在数据库中创建表然后使用自定义数据初始化数据库的最佳方法是什么?
现在我也有一个奇怪的错误:运行
一切正常,但如果我运行(用于测试所有包)
我有似乎不是确定性的错误,这就是为什么我猜测数据库连接没有正确处理
go - 为什么 gorm db.First() 会因“无效的内存地址或 nil 指针取消引用”而恐慌?
我不知道我是否做了一些愚蠢的事情,或者我是否在 gorm 中发现了一个错误。虽然我非常清楚“无效的内存地址或 nil 指针取消引用”是什么意思,但我完全不明白为什么它会出现在这里。
简而言之,我打电话给我,但db.First()
我没有明显的理由感到恐慌。
我的代码的相关位:
db
在包中打开main()
,并存储为包变量。这似乎不是很干净,但它似乎工作......
恐慌:
...我的代码的第 28 行在哪里query := db.First(&m, vars["id"])
我查看了 gorm 中的注释行和First()
功能,但这也不是很明显。
为了弄清楚可能发生了什么,我对我的代码进行了以下更改:
第一次尝试:它是否抱怨被传递了一个字符串?让我们给它一个整数。毕竟,这个例子使用了一个整数。
再次恐慌,在同一个地方。
第二次尝试:我是否m
以错误的方式创建变量?也许它真的需要先分配new
。
再次恐慌,在同一个地方。
第三次尝试:我只是硬编码要查找的 ID,以防 gorilla/mux 行为不端。
再次恐慌,在同一个地方。
最后,我测试了一个空数据库表,一个填充表请求一个存在的 ID,一个填充表请求一个不存在的 ID。在所有三种情况下,我都会收到同样的恐慌。
最有趣的部分是显然 net/http 正在恢复恐慌,然后我notFoundHandler()
运行,我在浏览器中看到它的模板输出。
我目前正在使用mattn/go-sqlite3驱动程序。
我的环境是 Fedora RPM 包中提供的带有 cgo 1.4.2 的 Fedora 22 x86_64。
这是怎么回事?这种恐慌从何而来?我如何解决它?
postgresql - 如何设置隔离级别
我想将隔离级别设置为repeatable read
. 我如何使用 gorm orm for postgres 来实现这一点。
示例代码:
go - 预加载在 *models.Catalog 中找不到字段 fieldName
我找不到我的问题的答案。我在 golang 项目中使用 jinzhu/gorm :) 我有以下结构:
当我尝试通过预加载子域来获取目录时:
我收到以下错误:can't find field SubDomain in *models.Catalog
为什么会这样?
我预计会有2个查询:
从已选中 = 0 的目录中选择 *;
select * from sub_domains where id = (catalog.sub_domain_id)
go - 在代码中声明但未调用函数时出现恐慌
上下文: https ://github.com/fusspawn/tserver/blob/master/app/controllers/gorp.go
作为尝试设置 gorm 的一部分,我尝试转换标准的 revel/gorp 示例。
然而。即使定义了 Begin(),Commit(),Rollback() 方法也足以引起恐慌。
注释掉方法定义将停止恐慌。我似乎无法理解不调用这些方法(注意 revel.InterceptMethod 调用被注释掉)如何使恐慌发生:/
go - 无法通过 golang orm 库创建关联
我一直在尝试使用 golang orm ( https://github.com/jinzhu/gorm/ ) 中的关联功能,但无法创建一个非常简单的关联。在下面的示例中,用户表包含数据,但电子邮件表不包含。我已经尝试了很多东西,但我可能缺少一些基本的东西,但一直无法在 github/stackoverflow 中找到正确的答案。
代码 :
go run main.go 打印以下输出 2015/09/30 17:25:04 Initializing Database with %!(EXTRA string=)
[2015-09-30 17:25:04] [3.21ms] 创建表“用户”(“名称”varchar(255))
[2015-09-30 17:25:04] [4.01ms] 创建表“电子邮件”(“地址”varchar(255))
[2015-09-30 17:25:04] [0.54ms] INSERT INTO "user" ("name") VALUES ('Jinzhu')
不知道我在这里缺少什么-感谢任何回复!
postgresql - 在 GORM many2many 连接中使用与默认值不同的连接表列
我正在使用 gorm 来管理我的结构到数据库的映射。现在,我有一个现有的模式,我正试图将它包装在一个 api 中。问题是在我的一个结构中,我many2many
通过另一个不使用默认列名的表进行连接。
golang 代码
连接表
结果查询输出
任何帮助表示赞赏。
谢谢!