问题标签 [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.
postgresql - 如何在 GORM 中将 PostgreSQL 函数设置为默认值?
我想要类似的东西:
GORM可以做到这一点吗?
go - “有很多”关系给出空结果
我正在尝试定义与 gorm ORM 的一对多关系。我一遍又一遍地阅读了所有文档。找不到办法。
我的模特是..
调试结果是
但我得到空结果
所有的主键和索引都是正确的。我也试过 puttin gorm:"primary_key"
,sql:"index"
但UserActivities
到目前为止没有运气。但是,如果我替换UserActivities []UserActivity
为UserActivities UserActivity
then 我只得到一行似乎是正确的但为什么UserActivities []UserActivity
没有给出结果
sql - 为什么在 gorm 等 go 库中使用 struct 中的 sql 标签?
好吧,我知道 golang 结构中标签的必要性,以及 golang 中的反射如何访问它。但是我已经搜索并找不到可靠的答案来回答为什么在为 sql 结果编写 struct 时应该在 struct 中使用 sql 标签。我探索了许多示例代码,人们sql:"index"
在结构和sql:"primary_key"
结构中使用。
现在我已经在数据库层做了索引,还不够吗?我是否必须使用以sql:"index"
获得最佳效果?像这样我已经在数据库中定义了主键属性,我也应该指定sql:"primary_key"
吗?
没有这些,我的代码似乎可以正常工作。只想知道它们的好处和用途。
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")
创建索引。
mysql - golang - mysql驱动 - 数据库函数
我创建了一个结构来存储空间类型,并创建了一个扫描函数来帮助查询数据库中的行。我在插入这种类型时遇到问题。
我可以使用以下 sql 插入数据;
如果我在database/sql/driver中使用 Value 接口;
类型值接口{}
价值是司机必须能够处理的价值。它要么是 nil,要么是以下类型之一的实例:
整数64
浮动64
布尔
[]字节
除了 Rows.Next 之外的所有地方的字符串 [*]。
时间.时间
并使用此代码;
我最终得到以下进入数据库的 sql 语句;
问题是函数GeomFromText用引号引起来。有没有办法避免这种情况?我正在使用 gorm 并试图将原始 sql 查询保持在最低限度。
在数据库端使用的 mysql 类型是一个点。
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)
go - Gorm 仅在 slice 中预加载第一个结果
一直在使用gorm
,它很棒,唯一的问题是嵌套preloading
它似乎只填充第一个结果,这是我的代码:
然后我像这样加载它:
但它只填充第一个:
msgs[0].User.Characters
-
msgs[1].User.Characters
并且全部都没有字符,但如果我这样做:
这似乎工作正常,但没有Preload
超出第一个结果?
任何信息都会非常感谢。
go - 在 golang 中嵌入具有相同属性名称的模型结构
使用go 1.5
, 和gorm
.
假设我想制作一个events
包含 acreated_by_id
和 aupdated_by_id
列的表格。
我写我的模型
当我尝试保存event
对象时,by_id
将尝试保存列的值而不是created_by_id
and的值updated_by_id
。我需要做什么来确保属性的列名对于和ByID
是不同的?CreatedBy
UpdatedBy
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 一起使用?