问题标签 [slick-2.0]

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 回答
2405 浏览

scala - 如何正确比较 Slick 中的 Options 成员?

我正在处理地址,并且成员子前提(公寓/公寓#)导致检索丢失。我也担心子前提是我唯一索引约束的一部分,因为它可以为空。

故障过滤器:

成功过滤:(通过删除子前提)

如果我错过了另一个促成因素,我已经包含了下面的定义,希望它会被注意到。

0 投票
1 回答
390 浏览

mysql - 如何在 Slick 2 中的连接表上使用字段和计数(*)进行 sortBy?

我正在尝试按一个字段和连接查询的计数对我的查询进行排序。那是我的 SQL:

我已经有了

,但我不知道如何进行排序。

有任何想法吗?

0 投票
1 回答
1576 浏览

scala - 光滑和嵌套案例类不行吗?

我正在使用 slick(和 play 框架)在现有数据库之上构建应用程序。我无法更改数据库结构。

我的数据库有以下 2 个表:

会议:

  • 身份证(PK)
  • 姓名
  • chair_id(FK 到 Person.id)
  • houseman_id(FK 到 Person.id)

人:

  • 身份证 (pk)

我想像这样定义我的案例类:

但是从关于这个的非常简单的文档来看,看起来我必须将 ID 保留在案例类中,而不是使用“Person”。那是对的吗?

最好的方法是什么?抱歉这个相对开放的问题,对 scala 来说很新,很流畅。

谢谢,

埃德

0 投票
1 回答
2741 浏览

scala - Slick 2.0: Delete multiple rows

What I wanted to do is delete the N oldest ids from my table using this function:

This operation throws a SlickException because

A query for a DELETE statement must resolve to a comprehension with a single table -- Unsupported shape: Comprehension(fetch = None, offset = None)

As stated also on the documentation:

A query for deleting must only select from a single table. Any projection is ignored (it always deletes full rows).

What is triggering the multiple table? Is it because the sortBy clause creates a temporary table to store the results? For the moment I rewrote my query to this:

Which is basically take the ids and for each one filter and delete, is there a more readable and direct way to delete multiple rows at once?

0 投票
1 回答
945 浏览

scala - Slick:Codegen 外键引用

我正在使用slick 2.x 的 codegen功能从数据库模式生成 Scala 模型。但是,是否可以遍历外键约束来生成相关模型,例如,如果我有这个模式

我从 slick 获得以下模型:

但是,我真正想要的是:

甚至更好:

反正有没有覆盖光滑的代码生成来做到这一点?

0 投票
1 回答
995 浏览

sql - Slick:左连接时读取可空值作为选项

使用 Slick 加入时的问题:我有 2 个表 User 和 UserInfo,我想离开它们以获取用户信息。我试过这个:

但是 UserInfo 表有一些可以为空的字段,所以当我尝试执行查询时:

它会出错,因为 user_info._2 有一些空值。我知道在 UserInfo 中产生每个字段并为可空字段添加 getOrElse(None) 的解决方案。但是,UserInfo 有很多字段,所以我不想使用它。

谁能帮我?

0 投票
0 回答
115 浏览

slick - 表行和域之间的平滑映射,通常的解决方案

将表映射类转换为更复杂的域对象的常用/推荐方法是什么?

对于普通的旧 Java 应用程序,我习惯于拥有一组daos(slick Table)和一个使用这些daos映射和构建对象图的转换层。但我希望 Slick 可以提供更好的替代方案。

谢谢

0 投票
0 回答
275 浏览

scala - Slick and Play Evolution:更改默认起始值​​后创建 SERIAL 或 Sequence

我有一个使用 O.AutoInc 作为 ID 生成器的表,它是一个主键。

示例代码:

这将创建一个带有 SERIAL 字段的表和一个起始值为 1 的序列。有没有办法更改这个起始值?

另一种选择是创建序列,如:

并使用它:

我不确定它是否会起作用,因为我找不到使用此序列进行游戏的方法。

那么有没有办法告诉游戏进化使用这个序列?

0 投票
1 回答
655 浏览

scala - 使用 slick 2 加载相关实体的策略

我正在使用带有 slick 2.1 的 play 2.3

我有两个相关的实体 -MessageUser(一个简化的示例域)。消息由用户编写。 表达这种关系的推荐方式(唯一的方式?)是使用显userIdMessage

我的类和表映射如下所示:

还有一个方便的辅助对象:

现在,这在内部是完美的,但是如果我想显示实际的消息,我希望消息类在模板中使用时能够返回它的作者姓名。

以下是我的考虑:

  1. 我不想(而且我无论如何也不能)Session在它不属于的地方传递隐式光滑 - 比如模板引擎和模型类
  2. 在这种特殊情况下,我想避免一一请求消息的附加数据

我对 Hibernate 比对 Slick 更熟悉;在 Hibernate 中,我会使用 join-fetching。对于 Slick,我想出的最佳想法是使用另一个数据保持器类进行显示:

并用连接查询的结果填充它:

然后将它传递到任何地方。我关心的是这个额外的类——不是很干,所以不必要的转换(而且似乎我不能让它隐含),很多样板。

常见的做法是什么?有没有办法减少额外的类并实际上使模型能够返回它的关联?

0 投票
2 回答
92 浏览

scala - 我在哪里可以定义要在表上调用的方法?

(我是 Scala 和 Slick 的完整初学者,因此感谢任何形式的代码审查)

我定义了以下内容class并定义了 Slick Table

我想添加一个方法,该方法将返回与指定匹配List的s 。像这样的东西:Footitle

然后我就可以使用这样的方法:

我如何/在哪里可以添加一个可以对TableQuery特定对象起作用的方法Table?这甚至是安排我的申请的正确方法吗?