问题标签 [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.

0 投票
1 回答
20879 浏览

postgresql - 如何在 GORM 中将 PostgreSQL 函数设置为默认值?

我想要类似的东西:

GORM可以做到这一点吗?

0 投票
2 回答
1482 浏览

go - “有很多”关系给出空结果

我正在尝试定义与 gorm ORM 的一对多关系。我一遍又一遍地阅读了所有文档。找不到办法。

我的模特是..

调试结果是

但我得到空结果

所有的主键和索引都是正确的。我也试过 puttin gorm:"primary_key"sql:"index"UserActivities到目前为止没有运气。但是,如果我替换UserActivities []UserActivityUserActivities UserActivitythen 我只得到一行似乎是正确的但为什么UserActivities []UserActivity没有给出结果

0 投票
2 回答
10479 浏览

sql - 为什么在 gorm 等 go 库中使用 struct 中的 sql 标签?

好吧,我知道 golang 结构中标签的必要性,以及 golang 中的反射如何访问它。但是我已经搜索并找不到可靠的答案来回答为什么在为 sql 结果编写 struct 时应该在 struct 中使用 sql 标签。我探索了许多示例代码,人们sql:"index"在结构和sql:"primary_key"结构中使用。

现在我已经在数据库层做了索引,还不够吗?我是否必须使用以sql:"index"获得最佳效果?像这样我已经在数据库中定义了主键属性,我也应该指定sql:"primary_key"吗?

没有这些,我的代码似乎可以正常工作。只想知道它们的好处和用途。

0 投票
1 回答
1948 浏览

postgresql - `gorm` 忽略 `sql:"index"` 标签

为什么gorm忽略sql:"index"标签?没有创建索引。

这里使用的数据库是 PostgreSQL(导入_ "github.com/lib/pq")。使用此Model结构(因为默认gorm.Model使用自动递增数字 - serial- 作为主键,我想id自己设置):

实际模型之一是:

并且该表是由db.CreateTable(&TUHistory{})它正确创建表的,但索引除外。

作为临时解决方法,我会db.Model(&TUHistory{}).AddIndex("ix_tuh_tu_id", "tu_id")创建索引。

0 投票
1 回答
1740 浏览

mysql - golang - mysql驱动 - 数据库函数

我创建了一个结构来存储空间类型,并创建了一个扫描函数来帮助查询数据库中的行。我在插入这种类型时遇到问题。

我可以使用以下 sql 插入数据;

如果我在database/sql/driver中使用 Value 接口;

类型值接口{}

价值是司机必须能够处理的价值。它要么是 nil,要么是以下类型之一的实例:

整数64

浮动64

布尔

[]字节

除了 Rows.Next 之外的所有地方的字符串 [*]。

时间.时间

并使用此代码;

我最终得到以下进入数据库的 sql 语句;

问题是函数GeomFromText用引号引起来。有没有办法避免这种情况?我正在使用 gorm 并试图将原始 sql 查询保持在最低限度。

在数据库端使用的 mysql 类型是一个

0 投票
1 回答
2059 浏览

javascript - 是否有可能让 GORM 用空切片而不是 nil 填充 nil 值?

我目前正在做一个项目,现在我有一些基本的 Javascript

blah.map(function(lBlah) {});

blah从 ajax 请求生成到数据库,该数据库返回对象数组(或切片,如果您愿意)

唯一的问题是我收到一个 JS 错误:cannot read property 'map' of null这是因为如果我的one-to-many关联当时没有关联的值,它只会生成该字段nil而不是空切片,所以当我json.Marshal发送空值而不是空值时,[]它会修复我所有的错误,目前必须覆盖struct从数据库返回的每个错误并检查 nil 值然后make([]blah, 0)很烦人并且看起来很乱。有没有更简单的方法来实现这一点?是否可以设置默认值json:"default:[]"或其他内容?

查询通过以下方式完成:

db.Preload("MainThreads").Find(&forumContainers)

0 投票
0 回答
848 浏览

go - Gorm 仅在 slice 中预加载第一个结果

一直在使用gorm,它很棒,唯一的问题是嵌套preloading它似乎只填充第一个结果,这是我的代码:

然后我像这样加载它:

但它只填充第一个:

msgs[0].User.Characters

-

msgs[1].User.Characters 并且全部都没有字符,但如果我这样做:

这似乎工作正常,但没有Preload超出第一个结果?

任何信息都会非常感谢。

0 投票
1 回答
673 浏览

go - 在 golang 中嵌入具有相同属性名称的模型结构

使用go 1.5, 和gorm.

假设我想制作一个events包含 acreated_by_id和 aupdated_by_id列的表格。

我写我的模型

当我尝试保存event对象时,by_id将尝试保存列的值而不是created_by_idand的值updated_by_id。我需要做什么来确保属性的列名对于和ByID是不同的?CreatedByUpdatedBy

0 投票
3 回答
618 浏览

go - 如果发生错误而我的 golang 应用程序没有处理它会发生什么?

我目前正在使用gormgin 框架。我想知道如果发生错误并且我的应用程序没有处理它会发生什么?

例子:

在上面的示例中,正在处理错误。

在上面的下一个示例中,只RecordNotFound()处理了错误,但如果它抛出不同的错误怎么办?会发生什么?

我的应用程序会自动响应 500 服务器内部错误,并且应用程序会继续正常运行吗?

0 投票
1 回答
1596 浏览

go - 用 gorm 写一个 goose go migration

默认goose go 迁移准备了一个函数,该函数提供*sql.Tx

提供了一个事务,而不是直接提供数据库实例,因为 goose 还需要在同一事务中记录架构版本。每次迁移都应作为单个事务运行以确保数据库完整性,因此无论如何这是一个好习惯。

我想使用gorm migrations编写我的迁移,但我不确定如何将给定的事务用于该目的。这是一个例子:

构建txn.CreateTable undefined (type *sql.Tx has no field or method CreateTable)如预期的那样给了我。我如何获取交易以与 gorm 一起使用?