问题标签 [go-pg]

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.

0 投票
2 回答
839 浏览

postgresql - go-pg,UpdateNotZero 不按设计更新可空字段,怎么办?

我很难理解如何使用go-pgUpdateNotZero().

例子:

假设我现在有这个播放器:

在我的 GO 代码中,我需要“删除” AccountID,我需要取消它: from 12to NULL

如果我update()这样使用:

它给了我错误:

如果我UpdateNotZero()这样使用:

它根本不更新AccountID

怎么做?


我认为的相关问题:

0 投票
1 回答
524 浏览

go - 与关系查询的关系

具有三个表,TableA,TableB,TableC 和一个联结表,定义如下:

最后,

table_a_table_b 是一个联结表,它将 TableA 和 TableB 与 many2many 关系相关联。

到目前为止一切顺利,我可以选择 TableA 中的数据,如下所示:

然而,结果并不是我真正想要的。它导致这样的事情:

在阅读了一些提示后,我开始在关系中使用查询功能。这是我所做的:

但是我收到了以下详细信息的恐慌:

reflect: 在零值上调用 reflect.Value.Type /usr/local/go/src/reflect/value.go:1877 (0x4b5245) Value.Type: panic(&ValueError{"reflect.Value.Type", Invalid}) /home/davood/dev/pkg/mod/github.com/go-pg/pg@v8.0.6+incompatible/orm/model_table.go:73 (0x701adc) newTableModelIndex: typ := typeByIndex(root.Type(),索引)/home/davood/dev/pkg/mod/github.com/go-pg/pg@v8.0.6+incompatible/orm/model_table_struct.go:328 (0x707a10) (*structTableModel).join: 模型,错误: = newTableModelIndex(bind, index, rel) /home/davood/dev/pkg/mod/github.com/go-pg/pg@v8.0.6+incompatible/orm/model_table_slice.go:57 (0x703f7c) (*sliceTableModel) .Join:返回 m.join(m.Value(), name, apply)

0 投票
1 回答
172 浏览

postgresql - go-pg UnionAll - 限制整个表达式

我正在尝试在go-pg库中为 golang使用.UnionAll方法。

此代码生成查询:

但我希望它是:

那么如何使用 go-pg 来获取我期望的原始 SQL 查询呢?问题是由于某种原因我不能将Limit 1表达式应用于整个查询。另外,我的第一个成员Limit 4没有正确应用。union all我的整个代码在这里

0 投票
1 回答
44 浏览

postgresql - go-pg v9.2.0 中的开始事务错误

我已将go-pg库从 v9.0.3 更新到 v9.2.0。

得到错误:

失败:

发现他们在这里修复它,但它不起作用。有什么问题?

0 投票
2 回答
1080 浏览

postgresql - 无法读取与 go-pg 的“一对多”关系

我正在尝试使用 go 实现一个小状态机,并将我的状态存储在 postgres 数据库中。

我像这样创建了我的数据库:

我正在使用 go-pg 9.2,我正在尝试从“状态”关系加载状态机及其状态列表。

我加载状态机的函数如下所示:

如果我执行它,我总是会收到错误消息Error reading state machine: model=StateMachine does not have relation="States"

我以前做过类似的关系,他们工作了,现在,我不能让它再次工作:(

0 投票
1 回答
777 浏览

go - go-pg got 没有关系 认为我的桌子上有关系

我与各省有联系,这是我的结构

在这里我怎么称呼:

我要去的是 model=Contact does not have relation="provinces" 如何纠正用 go-pg 查询这个的方法?

当我用标签更改省的联系人标签时pg:"rel:has-one"

我收到了这个错误 pg: Contact has-one Province: Contact must have column province_id (use fk:custom_column tag on Province field to specify custom column)

注意:我不使用他们的迁移,我使用 sql-migration 进行所有迁移

0 投票
1 回答
619 浏览

postgresql - 这两种 Gorm 查询事物的方式有什么区别?

我正在为 Postgresql 使用 Go 和Gorm

我想了解两者之间的区别

  1. 这个:

  2. 和这个:

SQL 查询是相同的。

我的意思是,我们为什么要使用 ORM?

  1. #1 可以成为准备好的陈述吗?

  2. #1比#2“更优化”吗?

  3. “更优化”是什么意思?

0 投票
1 回答
246 浏览

database - 由于这种模式,在同一个结构中使用事务和简单的数据库连接我该怎么办?

我发现了一个使用 Clean Architecture 方法在存储库之间进行事务的一个很好的例子。

这家伙正在使用Gorm

Gorm 具有相同的数据库连接和事务类型,例如:

我是go-pg. 但是这里的类型是不同的(也许它甚至更好),例如:

当然,错误是:Cannot use 'tx' (type *Tx) as type *pg.DB

一个小复制:

我能做些什么来解决这个问题?

提前致谢。❤️

0 投票
1 回答
443 浏览

go - 最新 go-pg 中的专栏

我正在从 go-pg from 8.0.5to更新10.3.2,我的 ORM 列有问题

结构:

这是单元测试失败的部分

我遇到的问题是,在 v8 中,这item是通过连接选择的。在 v10 中,它会抛出“列 'item' 不存在”错误。
这样做的正确方法是什么?

0 投票
1 回答
105 浏览

go - go-pg 中的“没有关系”

我正在尝试提取与 CityEntity 相关的 CountyEntity 数据:

我的查询是:

它抛出:

model=CountyEntity 没有关系=“City”

但实际上,我在数据库中有城市和县表之间的关系。

数据库关系图

我尝试了不同的方法来解决,但我无法解决。有没有人知道它的根本原因是什么以及可能的解决方案是什么?