问题标签 [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 回答
377 浏览

scala - Scala Play 和 Slick。为对象编写表单映射和数据库映射

我在 Play 中使用 Slick 3.0。我有一个我写过数据库映射的小班

这编译并完美运行。现在我创建了一个 HTML 表单,我将在其中进行数据输入,并且我需要将 HTML 表单绑定到 Person 对象。所以我写了

但是现在我收到一条错误消息

因此,似乎添加伴随对象会破坏我的数据库映射代码。早些时候它在案例类上寻找元组属性,但现在它正在寻找对象并且它没有找到它。

我怎样才能拥有案例类,然后是数据库映射和表单映射?

0 投票
1 回答
530 浏览

scala - Slick MTable.getTables always fails with Unexpected exception[JdbcSQLException: Invalid value 7 for parameter columnIndex [90008-60]]

I have written this very simple code

However this always fails with error message

0 投票
0 回答
465 浏览

scala - Slick 3.0 阵列聚合替代方案

这里已经有一个关于数组聚合的话题:

在 scala 框架中支持 PostgreSQL 特定的 array_agg 函数?

但是,由于它目前不受支持,我发现很难用 slick 做一些事情。这是一个简单的例子。

例如,我经营一家举办派对的企业。每个聚会都有客人,主人:

我想要一张所有派对的桌子,显示所有客人和主人,如下所示:

我的解决方案是这样的:

然而,这种解决方案在大型数据集上非常占用空间。有谁知道更好的解决方案?

0 投票
1 回答
3392 浏览

scala - Slick 3.0 将 Rep(Bind) 转换为值

我正在尝试使用像这样的 Slicks 3.0 monadic joins 加入两个表:

现在我想从连接结果中获取值。我尝试了很多来获得这些值,但它似乎比我想象的要难。当我尝试打印值时,我总是会得到某种 Rep(Bind) (参见上面的评论)。

还有这篇文章解决了同样的问题。我尝试了如下所示的建议解决方案:

甚至没有编译,因为 forEach 没有在那个地方定义。我真的不知道如何在这里继续下一步要尝试什么。有人可以帮我吗?

谢谢...

0 投票
1 回答
2703 浏览

scala - 未加载 HikariCP 驱动程序的 slick 3.0.0 - IllegalAccessException:AbstractHikariConfig 无法访问带有修饰符“private”的成员

我正在尝试将tminglei/slick-pg v9.0.0与 slick 3.0.0 一起使用,并且得到IllegalAccessException

HikariCP 是 slick 3.0.0 中的默认连接池

我已经定义了驱动程序类,就像在示例中一样:

我的数据库配置非常简单[以下是类型安全配置的摘录]:

似乎它不应该工作,但是......

我应该以某种方式更改我的驱动程序类吗?是别的吗?

注意:从我正在使用的堆栈跟踪中可以看出

  1. Java 1.7.0_79
  2. 斯卡拉 2.11.7
  3. akka 2.3.11(我共享 slick 和 akka 的配置实例)
  4. 光滑的 3.0.0
  5. HikariCP-java6 2.3.8
  6. tminglei 的 slick-pg_core 0.9.0

最后,通过 Class.class 的 jdk 代码进行调试时(反编译的第 143 行)

我得到以下(toString'ed)值(如intellij所示):

这能说明问题吗?如果是这样我应该如何解决它?


编辑

我已经用股票 PostgresDriver 替换了自定义驱动程序配置,如下所示:

错误是一样的:

0 投票
1 回答
1184 浏览

java - 我将如何使用 slick 3.0 一次返回一行?

我如何return一次为我的表的一行构建一个 scala 查询?

如果它们有助于回答这个问题,我的表位于以下位置: Slick 3.0(scala)查询在多次运行之前不会返回数据(我认为)

但不是打印,我需要返回每个。

0 投票
1 回答
1277 浏览

postgresql - 使用 Slick、specs2 和 Postgresql 进行 2.4 测试

我想要的是使用与生产中相同的数据库引擎、相同的演变和配置来运行我的测试。我的数据库是 PostgreSQL 9.4,我使用 Slick 3.0.0 来访问它。

这里的问题是:

  • 在并行测试执行的情况下,我在同一个数据库上同时运行了几个演变。这会导致错误。
  • 在执行顺序测试的情况下,线程池出现另一个错误。

这里有详细信息。

我使用进化来为每个测试初始化​​数据库。为此,我准备了一个基本规范类:

application.test.override.conf测试的配置文件在哪里。

在祖先规范中也有几个测试:

如果我并行运行整个规范的测试(默认),那么Database 'default' is in an inconsistent state![An evolution has not been applied properly. Please check the problem and resolve it manually before marking it as resolved.] @6mk338l87: Database 'default' is in an inconsistent state!在其中一个测试中会出现异常。

如果我按顺序运行它,class AccountRepositoryTest extends DatabaseSpecification { sequential ... }则会出现另一个异常

它发生在网上val futureUserId = accountRepo.create(user)。可悲的是,但我不知道为什么会引发第二个异常。顺便说一句,我当然更喜欢并行运行测试,但不知道如何实现它。

任何帮助,将不胜感激!

0 投票
2 回答
1176 浏览

oracle - 用于 Oracle 的 Slick 3.0 自定义代码生成

我正在尝试为 Oracle 生成 Slick 3.0 代码。DB 用户指向两个具有相同名称的表的模式,因此生成的代码具有重复的类。我想从模式中过滤掉以“STAGE”结尾的表

这是代码:

我尝试过滤 defaultTables 但签名是 Seq[MTable] => Boolean 所以我不知道如何处理它。过滤传递给 driver.createModel 的表是正确的方法吗?我用 override(n) 方法查看并尝试了其他代码,但似乎没有什么可行的。

谢谢。

0 投票
1 回答
1822 浏览

scala - 在 Slick 的一列中查询具有最大值的一行

在我看来这是一个简单的问题,但我仍然试图找到一个好的解决方案。我正在使用 Slick 3.0。我想查询一个表的行,该行在一列中具有最高值。但我不想只有最高值(这很简单),我想拥有整行。我尝试了一些东西,比如先查询最大值,然后用这个最大值过滤,但没有编译或看起来合适。我希望有这样的方法:

但是我没有找到这样的方法。那么做这样的事情最喜欢的方法是什么?

0 投票
5 回答
6367 浏览

scala - 原因:java.sql.SQLException:不支持 JDBC4 Connection.isValid() 方法

我的 play-framework 项目在我的本地运行良好,但是当我尝试在 heroku 中部署它时,出现以下错误。

我使用 PostgreSQL 作为我的数据库,并使用 slick 作为数据库访问库。我尝试用谷歌搜索它,经过一些研究,我发现当配置文件中提供的 url 不正确或返回 null 时,可能会导致此错误。我试图修复它,但我无法解决这个错误。

这是我的Procfile:

网络:目标/通用/舞台/bin/myapp -Dhttp.port=${PORT} -Dconfig.resource=${PLAY_CONF_FILE}

和 Application.conf

PS:我正在做这些修改

play framework version : 2.4.0 slick version : 3.0

编辑:如果我slick.dbs.default.db.connectionTestQuery="SELECT 1"在我的 application.conf 中添加它会产生新类型的 nullPointerException 错误。