问题标签 [slick-3.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 回答
5128 浏览

scala - value ~ 不是 slick.lifted.Rep[Option[Int]] 的成员

我有一个 Scala 编译错误,我无法找到任何信息。我正在使用 slick 3.0 并收到编译错误

value ~ is not a member of slick.lifted.Rep[Option[Int]]

我相信这个问题与我使用选项来表示我的 ID 字段的方式有关。

我已尝试按照此答案id.?中的建议添加到 id 字段,但我仍然遇到同样的编译错误。slick 3.0 有什么变化吗?

我的代码如下:

0 投票
1 回答
377 浏览

scala - 我的数据库存储在 Slick 中的什么位置?[斯卡拉][光滑 3.0]

我不是特别确定这是否是一个有效的问题,但我想知道我的数据库到底存储在 Slick 中的什么位置

例如,如果我按照http://slick.typesafe.com/doc/3.0.0/gettingstarted.html上的示例进行操作

他们创建表格:

然后他们用

数据库是否纯粹存在于内存中?

如果我从文本文件中填写数据库,数据库是否仍然只存在于内存中?如果是这样,我将如何将其传输到磁盘?我什至在正确的轨道上吗?

0 投票
1 回答
998 浏览

sql - 将嵌套连接和 groupby 查询转换为 Slick 3.0

我正在实施一个待办事项列表。一个用户可以有多个列表,一个列表可以有多个用户。我希望能够检索用户的所有列表,其中每个列表都包含共享它的用户列表(包括所有者)。未能成功实施此查询。

表定义:

我创建了一个附加类来保存数据库列表对象+用户,我的目标是以某种方式将查询结果映射到此类的实例。

这是其中大部分的 SQL 查询,它首先获取用户的所有列表(内部查询),然后将列表与 list_user 与用户进行连接,以获取其余数据和每个列表的用户,然后它使用内部查询进行过滤。它不包含按部分分组

我测试了它并且它有效。我正在尝试在 Slick 中实现它,但出现编译器错误。我也不知道那部分的结构是否正确,但一直无法想出更好的结构。

我怎样才能解决这个问题?

提前致谢

编辑:

我将这个紧急解决方案放在一起(至少它可以编译),我使用原始 SQL 执行查询,然后以编程方式进行分组,它看起来像这样:

但这太可怕了,我怎样才能让它正常工作?

编辑2:

我正在尝试单子连接,但也被困在这里。例如,这样的事情会得到给定用户的所有列表:

但这还不够,因为我还需要获取这些列表的所有用户,所以我需要 2 个查询。所以我需要首先获取用户的列表,然后找到这些列表的所有用户,例如:

但我不知道如何将其传递给联接。我什至不确定 groupBy 是否正确,至少在数据库级别是正确的,到目前为止,我看到这仅用于将结果聚合为单个值,例如 count 或 avg。我需要它们在一个集合中。

编辑3:

我还不知道这是否正确,但一元连接可能是解决方案的途径。这编译:

0 投票
1 回答
587 浏览

database - 为不存在的表 slick scala (Slick 3.0.0, scala) 创建一个类表

假设我们有一个包含两个表的数据库:Coffee并且Suppliers我们有它们对应的案例类和表,就像在文档中一样:

现在假设我们想做一个连接:

在这里处理结果很复杂(如果我们有很多连接,那就更复杂了),因为我们需要始终记住名称的顺序,知道什么 _._1_._2引用什么……等等。

问题 1有没有办法将结果的类型更改为包含所需列的新类的表?

问题2这里有一个方法但是我做不完,我们构造一个案例类例如:

然后我们构建了我不知道如何的对应表

当我们写一个连接时,我们可以写一些类似的东西(这样我们就可以将结果转换为一个 Joined 类型):

谢谢你。

0 投票
2 回答
4945 浏览

postgresql - 使用 slick 的 3.0.0 流媒体结果和 Postgresql 的正确方法是什么?

我正在尝试弄清楚如何使用流畅的流媒体。我使用 slick 3.0.0 和 postgres 驱动程序

情况如下:服务器必须将客户端数据序列拆分为受大小(以字节为单位)限制的块。所以,我写了以下精巧的查询:

我将 seq 与 akka-streams 结合起来Source,编写了 custom PushPullStage,它限制了数据的大小(以字节为单位)并在达到大小限制时完成上游。它工作得很好。问题是 - 当我查看 postgres 日志时,我看到这样的查询 select * from sequences where user_id = 0 and timestamp > 0 order by timestamp;

因此,乍一看,似乎有很多(并且不必要的)数据库查询正在进行,只是在每个查询中使用了几个字节。使用 Slick 进行流式传输以最小化数据库查询并充分利用每个查询中传输的数据的正确方法是什么?

0 投票
2 回答
1944 浏览

scala - Slick 3.0.0 执行查询

我有一个问题如何以正确的方式使用 slick 3.0 执行查询

主要思想:1)准备功能查询2)执行并获取对象列表

现在我可以这样做了

但在这种情况下,我应该在 db.run 中创建一些 var。

您能否举个例子,如何执行 slick query 并将 List 结果获取到 val ?

BR!

0 投票
1 回答
726 浏览

scala - Slick 3 - 在一个事务中调用多个 db.run()

我有带有 byId 的模型存储库类并保存方法

现在我想同时使用这两种方法,首先加载用户,然后更改某些内容,然后保存用户,就像这样

我怎样才能在一笔交易中做到这一点?

0 投票
2 回答
25118 浏览

scala - Slick 3.0 插入然后获取自动增量值

我写了这段代码,它完美地工作

此代码有效,但返回值是插入的记录数。但是我想在插入完成后返回 AutoInc 的值。

我做了谷歌,发现几篇文章

Slick 3.0.0 自动增量复合键

使用 slick 插入后返回自动递增值

但不知何故,这些并没有干净地回答这个问题。

0 投票
1 回答
5710 浏览

scala - SLICK 3.0 - 多个查询相互依赖 - db.run(action)

我是 Slick 3 的新手,到目前为止我已经了解 db.run 是异步调用。一旦 Future 返回, .map 或 .flatMap 就会运行。

我下面代码中的问题是所有子查询都不起作用(嵌套的 db.run)。

从概念上讲,我没有得到什么?如下执行这种代码是否有效?基本上在第一个查询的 .map 中,我根据第一个查询执行一些操作。

我到处都可以看到带有 yield 的循环,这是唯一的方法吗?我的代码中的问题是否与返回的 Future 值有关?

0 投票
1 回答
150 浏览

scala - 编写 Slick 3.0 查询时最小化 Boiler Plate 代码

我在 slick 3.0 中编写了我的第一个数据访问对象。它有效,但我在我的代码中发现了很多重复的代码

这行得通,但我讨厌我一次又一次地编写这段代码的事实

我想知道是否有一种通用且安全的方法可以避免在每个函数中重复使用这些行。