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

scala - 继承和多态关系是否可能/使用 Slick 是个好主意?

考虑一下我目前正在研究的以下简化域模型:

这个模型代表什么?

它代表一个简单的价格服务,允许为一个产品或产品类别定义多个价格。产品的最终价格是通过检查其所有匹配价格及其相关条件来确定的。例如,产品可能有一个正常价格和一个额外价格,该价格仅在今天有效,因为它具有 DateCondition。

我的问题是什么? 一个价格可能与多个条件相关联。每个条件可能属于另一种类型。所以我问自己应该如何用 Slick(=多态关系)来解决这个问题。基本上我想要一个类似于 DAO 的界面,它可以获取价格以及相关的条件。

我的问题:

  1. 是否可以使用 Slick 实现此模型?(大概是)
  2. 多态关系:在 Slick 中解决这个问题是个好主意吗?Slick 表示它想要克服对象关系不匹配的问题,在这里我感觉好像我试图用这个模型来对抗框架。Slick 在这种面向对象的方法中表现不佳吗?我应该选择另一种方法吗?

请注意: 是的,我没有代码可以显示我尝试过的内容,但现在我需要一些方向来寻找。目前我不知何故迷路了:-)

0 投票
2 回答
6770 浏览

scala - 如何在 Slick2.0 中使用 DateTime?

我想DateTime在 Slick 2.0 模型中使用。我使用jodatime:

我在以下位置添加了依赖项Build.scala

然后我做:

错误是:

我添加了 joda-convert jar,但它似乎不起作用。如何在 Slick 模型类中添加 DateTime?

0 投票
1 回答
509 浏览

scala - 使用外键字段在 Slick 中过滤

where是否可以在 Slick或filter语句中使用外键字段?

类似的东西(其中user字段是表的外键,User其映射投影)(这不会编译):

或者我们应该明确地使用外键?

0 投票
2 回答
1808 浏览

scala - 播放流畅的会话连接超时

我在使用 Slick 2.0.1 和 play-slick 0.6.0.1 进行会话和连接处理时遇到问题

错误是

我有一个游戏基础控制器特性,用于在一个地方设置显式会话

然后是使用显式会话对 UserService 进行简单调用的 /list 操作:

我已经删除了所有异步操作,所以我认为这个问题不会与类似问题重复:Play slick and Async - 这是一个竞争条件吗?Scala Play 2.2 Slick 1.0.1 - future { Try {...} } 等待免费可用连接时超时

重新加载操作大约 10 次后会出现此问题。

显然,我在 slick 的会话处理中做错了 - 在 playframework 中有没有 slick 2 会话处理的好例子?什么是最好的做法?

编辑:问题的一个可能来源可能是我用来保存 TableQueries 的对象

如果这可能是问题的根源,那么放置这些参考资料的好地方是什么?对象的主要原因是在表定义的外键中引用这些实例(类似于http://slick.typesafe.com/doc/2.0.1/schemas.html#constraints

编辑:这是 findByEmail 的代码 - 但我认为这并不重要。在所有查询中似乎都是相同的行为和问题。

我会感谢任何指向正确方向的提示。

0 投票
1 回答
50 浏览

playframework-2.2 - 使用 slick 2.0 引用多个表的最佳方法是什么?

我有这些表:USERS、USER_ROLES、ROLES、PERMISSIONS、ROLE_PERMISSIONS

我正在实施:

所以,如果我要为这个函数编写查询,它会像这样:

其中 M 是给定的用户 id,然后我会通过他们的 id 查找每个角色并返回 Role 对象,或者我会使用连接,但这在这里不相关。

那么我的 UserRole 模型是什么样的:

正如预期的那样,retrieveRoles 返回一个 UserRoles 列表,但我想要一个角色列表,因此我必须编写另一个查询,该查询将采用 UserRole.roleID 并在每个返回的 UserRole 的角色表中找到它。这是很多查询,我觉得有一种方法可以在一个查询中执行此操作。Slick 专家有什么帮助吗?

0 投票
1 回答
381 浏览

scala - 在抽象类中推断编译器应该可以使用的多个泛型类型

我正在为我的 play2/slick2 项目开发一个抽象的 CRUD-DAO。为了获得方便的类型安全主 ID,我使用UnicornMappedTo作为 slicks &之上的额外抽象和便利ColumnBaseType

Unicorn 提供了一个基本的 CRUD-DAO 类BaseIdRepository,我想进一步扩展它以满足项目的特定需求。类的签名是

这导致 DAO 实现看起来像

这对我来说似乎非常多余。我能够提供tableNamequery来自T,在我自己的 Abstract DAO 上给我以下签名

在 Scala 中是否有可能以某种方式推断类型IA进行如下签名?(Users是一个类扩展IdTable

如果没有运行时反射,这可能吗?如果仅通过运行时反射:我如何在类定义中使用清单以及反应式应用程序中的性能影响有多大?

另外,由于我对这门语言还很陌生并且自己工作:这在 scala 中是不是很好?

谢谢你的帮助。随意批评我的问题和英语。改进当然会提交给 Unicorn git-repo

编辑: 实际上,TableQuery[T].baseTableRow.tableName, TableQuery[T]由于需要错误类类型,但 T found不起作用,IDEA 表面上很好,但 scalac 不是。

0 投票
1 回答
340 浏览

postgresql - Slick 2 生成器:在不同模式上具有相同名称的表

我正在使用Slick 2 代码生成器,到目前为止一切顺利,但有一个问题。如果我的 Postgres 数据库中有 2 个模式,并且每个模式都有一个同名的表 - 代码生成器会创建重复的类,从而导致明显的错误。有没有办法绕过这个?有没有办法在一个数据库中指定多个模式?

0 投票
1 回答
66 浏览

scala - 为什么我需要导入驱动程序才能使用提升的查询?

我正在使用 slick 2.0 与数据库进行交互。

按照建议,我使用 BonesCP 添加了外部连接池。

使用它我创建了我的连接:

现在,如果我对我的TableQuery对象做这样的事情:

provisioning.foreach {(...)}

它说没有 foreach 方法。

所以我进口了: import scala.slick.driver.PostgresDriver.simple._

现在一切正常。

我不喜欢的是我的代码与某个数据库实现相关联。

我可以以某种方式让它从配置文件中读取“db方言”吗?

0 投票
1 回答
1481 浏览

sql - 带有 Slick 2.0.1 和 Playframework 2.2.2 的 MS SQL 配置

当我尝试使用新的专有 MS SQL 驱动程序时,我得到一个异常,归结为驱动程序类的 ClassNotFound。

我同时包含了 slick 和 slick-extensions:

示例使用:

例外:

最终,com.typesafe.slick.driver.ms.SQLServerDriver 的 ClassNotFound。

0 投票
1 回答
167 浏览

forms - slick 2.0,如何将TableQuery映射成seq,最后映射成form?

我是 playframework 2.0 的新用户。我想将用户对象映射到表单

我了解在 slick 1.0 中有:

但在 slick 2.0 中,用户是对象:

对象如何更改为 seq 然后映射到 Form?

Form如何绑定scala2.0中的数据?

谁能为此提供任何示例?