问题标签 [sqlboiler]

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 投票
0 回答
1391 浏览

go - 如何使用 SQLBoiler 执行多对多查询

我使用SQLBoiler作为我的 golang ORM。

我正在尝试查询用户及其所有角色,为此我有以下表格:

角色:

用户:

用户角色:

我正在尝试通过以下方式查询(不使用 sql 查询)用户及其所有角色:

这给了我 models.USERROLESSlice 而不是包含我的加入表的 models.ROLES 切片。

或仅使用:

如果我有任何其他对象关系,我会做的,但这些都没有给我我期望的结果。

有人知道什么是简单而优雅的方法吗?

编辑:现在我只是使用 qm.SQL 前进

但我再次寻找优雅的方式,您可以在以下链接中找到一些示例: https ://github.com/volatiletech/sqlboiler

0 投票
1 回答
866 浏览

sql - SQLBoiler 获取 Join 的表名

我正在尝试遵循 sqlboiler ( https://github.com/volatiletech/sqlboiler ) 中的示例。但是,我找不到获取内部联接查询中使用的表名的方法。

在这个例子中,如果我可以提供表名而不是硬编码名称 ( credit_cards),那就太好了。

谢谢!

0 投票
3 回答
1617 浏览

sql - SQLboiler 不在子句中

我正在尝试遵循 sqlboiler ( https://github.com/volatiletech/sqlboiler ) 中的示例。但是,我找不到获得等效NOT IN查询的方法。

在这个例子中,如果我们可以得到一个 operation AndNotIn,那就太好了。

谢谢!

0 投票
1 回答
366 浏览

go - SQLBoiler 从 `AndIn` 中的另一个表中选择

我正在尝试遵循 sqlboiler ( https://github.com/volatiletech/sqlboiler ) 中的示例。但是,我找不到在AndIn子句中添加另一个表的方法,因为任何Where会导致返回两个值。

在这个例子中,如果我们可以通过过滤器从另一个表中获取值,它就相当于 SQL。

完成此操作的一种方法是分别获取值,然后将其作为变量输入。

谢谢!

0 投票
0 回答
914 浏览

postgresql - 为什么空字符串值在 UPDATE 上不起作用?

我正在使用sqlboiler从 SQL 生成 Go 模型,我遇到了以下问题。ON CONFLICT通过 sqlboiler 代码指定时:

我收到以下查询:

和以下错误:(X因为缩小的例子)

当我初始化NameAlias使用注释代码时,一切正常。为什么我需要初始化它?为什么零值在这种情况下不起作用?

编辑

添加Device定义:

Upsert

0 投票
0 回答
428 浏览

unit-testing - 如何在 Go 中模拟 sqlboiler 查询

在这里,我一直试图找出模拟 sqlboiler(一个 ORM 生成器)查询,但找不到方法。

任何人都可以模拟 sqlboiler 查询吗?

例子:

仅供参考:automodel是所有生成模型都存在的包(如device.go设备表)。我们无法更改这些,因为它们是由 sqlboiler 命令生成的,如果添加了新表或表发生架构更改,则需要再次生成。

如何在编写单元测试时模拟上述两种方法中的 sqlboiler 查询?

0 投票
0 回答
214 浏览

go - Golang SQLBoiler 将 bit(1) 转换为字符串而不是 bool 或 int

我正在尝试使用 sqlboiler(使用 4.5.0 版)在 Golang 中生成我的数据库模型。

我有很多表,其列类型为 tinyint(1) 或 bit(1),它们在我的 java spring 代码中映射到布尔值。

现在,当我生成 sqlboiler 代码时,这些列都映射到字符串而不是布尔值或整数,因此当它尝试将“Y”或“N”作为值插入时出现错误。

我确实找到了很多线程中提到的未记录的属性 tinyint_as_int 或 tinyint_as_bool,但是设置这些并没有改变任何东西(我正在使用 mysql 驱动程序)

我该怎么做才能将位/小整数列正确映射为整数或布尔值,以便 sqlboiler 不会尝试在那里插入字符串?

更新:是我的错误,我在错误的表中将列从 bit(1) 更改为 tinyint(1)。如果 mysqlboiler 支持 bit(1) 仍然会很好,但使用 tinyint 它可以工作

0 投票
1 回答
87 浏览

go - 从golang中的sqlboiler获取数据

我正在使用 sqlboiler 和 golang

使用此代码,我从数据库中获取所有详细信息。

UserDemographic 表包含 2 列,userId 和 count

如何从 userDemo 中获取 userId=1 的数据。(我们可以在函数 All 中传递 userId=1,这不是我想要的)

从数据库(例如 userDemo)获取数据后,我怎样才能不同地获取每一行数据

0 投票
1 回答
210 浏览

go - 使用 sqlBoiler 进行数据绑定

我正在从 MYSQL 数据库中获取一些数据。使用查询数据越来越正确(例如 10 行)

我想绑定到模型列表中进行显示。

但是显示恐慌错误

在这里使用 MYSQLQuery 我得到了正确的数据。我想在一个列表中显示它,例如:

我的 go 代码有什么问题?

0 投票
1 回答
286 浏览

go - 使用SQLBoiler和golang来like操作MYSQL

我想使用 SQL 锅炉和 golang 在 MYSQL 中执行 LIKE 操作

我在用

.

在这里 Like 不起作用。

数据正在获取,但就像操作不起作用一样,即没有获取使用电子邮件或屏幕名称过滤的数据。

过滤不起作用