问题标签 [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 投票
1 回答
316 浏览

scala - 如何向 Slick 表添加方法?

我想使用 Slick 执行类似的操作(我已更新为3.0.0-M1):

这样我以后可以执行:

当然,我被困在total方法上。该total方法可能相当复杂(我有一个应用程序,它应该计算三个计数的中位数),所以我认为它应该是最终执行的实际 Scala 代码。

像这样的东西怎么能在 Slick 中开发出来呢?

0 投票
4 回答
3604 浏览

scala - 使用 slick 3.0.0-RC1 在 TableQuery 上找不到方法结果

我正在尝试 Slick 3.0.0-RC1,但遇到了一个奇怪的问题。

这是我的代码:

错误是:

“无法解析符号结果”

阅读文档我真的不明白为什么这会失败。我在这里错过了什么吗?

解析度

szeiger 指出,这可能是“IntelliJ 的演示编译器”中的一个错误,而这很明显。

0 投票
2 回答
4554 浏览

scala - Slick 3.0 多对多查询,将连接作为可迭代对象

我使用 Slick 3.0 创建了一个多对多集合,但我正在努力以我想要的方式检索数据。

事件和兴趣之间存在多对多的关系。这是我的表:

这是EventsInterests:

最后是兴趣:

我可以使用以下内容查询和检索 (event.name,interest) 的元组:

所以这就是我目前所拥有的。

我想要的是能够填充一个案例类,如:

问题是,如果我像这样更新我的案例类,它会打乱我def *EventsTable. 另外,我必须将过滤器重命名为有点难看的EventsTable.interests东西,但如果有必要我可以忍受。EventsTable.interestIds

此外,我找不到编写for产生(event.name, Seq(interest.name)). 无论如何,这只是我能够产生一个(EventDao, Seq(InterestDao))我真正想要返回的元组的垫脚石。

有谁知道我怎样才能实现这些目标?我还希望能够“获取”一定数量的兴趣,因此对于某些查询,所有查询都会返回,但对于其他查询,只会返回前 3 个。

0 投票
1 回答
109 浏览

slick-3.0 - Slick 3.0.0 和 Scala 2.10.4

我试图用 slick 3.0 创建一个 scala 程序,但出现以下错误:

错误:scalac:错误的符号引用。BasicDriver.class 中的签名指的是包 com 中不可用的术语类型安全。当前类路径中可能完全缺少它,或者类路径上的版本可能与编译 BasicDriver.class 时使用的版本不兼容。

我正在使用 scala 2.10.4 和 slick 2.10-3.0.0-RC1,我的 IDE 是 IDEA 14.0.3 社区版

任何有关此编译错误的线索将不胜感激。

非常感谢!!!

0 投票
2 回答
8578 浏览

postgresql - 如何在 Typesafe conf 上为 Slick 3.0.0 RC1 配置 HikariCP

我有一个基于play-scala Typesafe 模板 (Play Scala Seed)的 Play Application ,并尝试将 Slick 3.0.0 添加到项目中并连接到 PostgreSQL 数据库。

首先,我将依赖项添加到build.sbt

然后在以下位置添加数据库配置application.conf

请注意,我没有明确禁用池,因此默认启用它,并将尝试使用 HikariCP,因为从 Slick 3.0.0 RC1 开始,存在 HikariCP 支持,并且默认启用使用它的池

在我的 DAO 对象中,尝试像这样获取数据库连接:

当我使用 运行应用程序时activator run,我收到此错误:

RuntimeException:java.lang.NoClassDefFoundError:com/zaxxer/hikari/HikariConfig

然后我尝试将 HikariCP 添加为依赖项build.sbt

使用 清理并重新编译应用程序activator clean compile,然后再次运行它,但我收到另一个错误:

RuntimeException:java.lang.UnsupportedClassVersionError:com/zaxxer/hikari/HikariConfig

我想我缺少一些配置,但我不确定,也没有找到更多关于它的信息。我应该如何设置配置以使连接池正常工作?

0 投票
1 回答
2732 浏览

slick - 如何使用 DBIO.sequence 并避免 StackOverflowError

我是一个 Slick 初学者,正在尝试使用 Slick 3.0 RC1。在我的第一个项目中,我想将数据从文本文件导入到各种表中。整个导入应按顺序进行,因为数据在一个事务中的文件中。

我尝试创建操作的迭代器并将它们包装在 DBO.sequence 中。

问题是当行数很大时,导入失败并出现 StackOverflowError。显然我误解了如何使用 Slick 来做我想做的事情。有没有更好的方法如何将大量数据链接到一个交易中?

这是我的代码的简化版本,我不是从文件中读取数据,而是简单地从 Range 中“导入”数字。XS 表的偶数,YS 表的奇数。

0 投票
1 回答
90 浏览

scala - 如何找到已隐式转换的值的类型?

我正在尝试将以下代码从一个类中提取到一个特征中以供重用:

问题是它table被隐式转换为添加schema属性的东西。如果我只是提升并转移上述内容,table则不会发生隐式转换,并且编译器找不到该schema属性。

我怎样才能找出我应该table在以下特征中给出什么类型?

我正在使用 slick 3.0 BTW,但这应该会有所作为。我想知道在隐式转换后如何找出值的类型。

0 投票
2 回答
394 浏览

playframework-2.3 - 如何在 Play Framework 中管理 Slick 3.0.0 数据库实例

我想知道如何在 Play Framework 2.3.x 应用程序中管理 Slick 3(此时为 3.0.0-RC3)数据库实例的正确方法。根据升级指南,每个实例都有一个关联的连接池

我的猜测是我应该在整个应用程序中处理每个真实数据库的单个实例,而不是为每个数据库操作创建一个实例(如本例),因为后者意味着还要为每个操作创建一个池。如果我按照示例执行此操作:

我最终创建了一个池,该池在每次执行该getAll函数时创建 10 个与数据库的连接,并在一次查询后处理它们。

但是,如果我将实例作为单例进行管理,我不确定它是否是线程安全的,并且可以被 Play 应用程序管理的许多线程安全地使用。

这是我在 application.conf 中的数据库配置:

我正在使用 HikariCP-java6 v2.0.1。

0 投票
1 回答
967 浏览

postgresql - 在 Slick 表定义中使用数据库函数 - 如何?

有没有人成功使用 Slick(我目前使用的是 3.0.0-RC3,最新的可用版本)来生成包含特定于 DB 的函数的表定义?如果是这样,如何实现?

示例:我在 Postgres 中有一个具有以下定义的列:

我尝试(未成功)在 Slick DDL 中描述。

第一次尝试:

当然,这被拒绝了:

好的,我尝试定义一个 SimpleFunction(我已经有 DateTime 转换器):

这产生了另一个错误:

我也试过SimpleLiteral[DateTime]("now()"),导致类似的错误。(删除选项也没有帮助)。

任何想法,将不胜感激。有点郁闷,这么简单的东西好像不太容易买到……

0 投票
1 回答
1972 浏览

scala - 在 Slick 3.0 中,如何从查询到案例类?

我正在尝试在 Scala 应用程序中将 Slick 用于数据库,并遇到了一些关于如何查询(查找)并将结果转换为案例类的问题(或我的误解)。

我不是在映射案例类,而是映射实际值,目的是动态创建案例类。所以,我的桌子是:

这是查询:

但是, findName 方法似乎返回Future((Option[Long], String, Option[String], String) => Name)而不是Future(Name). 我究竟做错了什么?只是使用的问题asInstanceOf[Name]吗?

编辑:按照 sap1ens 的建议,将 findName 扩展到更小的块,并为每个块添加注释。