问题标签 [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.
scala - Slick 3.0.0:如何查询一对多/多对多关系
大约一年前,对于 slick 2.x ( scala slick one-to-many collections ),基本上也有人问过同样的问题。我想知道反应性浮油的发布是否有任何进展。
例如,假设我们有三个表。library
,book
并且library_to_book
图书馆有很多书。我想要的是一个图书馆的清单,里面有他们的书。在 scala 中,这类似于Seq[(Library, Seq[Book])]
. 我的查询如下:
results
在这种情况下是类型Seq[(Library, Book)]
。我如何必须更改我的查询才能获得类型的结果Seq[(Library, Seq[Book])]
?编写此类查询的“巧妙方式”是什么?
scala - 使用 Slick 3 插入或更新
Slick 3文档中的哪里记录了如何进行insertOrUpdate
类似操作?
scala - Slick table 不带类型参数
我正在玩 slick 3.0.0 的新 DBIO api,但在泛型方面遇到了一些问题。
使用此代码:
编译器说 AbstractTable 不接受任何类型参数。我不理解这里看到的声明https://github.com/slick/slick/blob/3.0/slick/src/main/scala/slick/lifted/AbstractTable.scala。
我怀疑这也是导致此错误的原因。
有什么建议吗?
scala - 基于非主键的 slick 3.0 insertIfNotExists 实现
我有一个带有 autoInc 主表的表,key('id')
但我还需要通过另一列(列“代码”)控制表中记录的唯一性。
我试图这样做:
方法findByCode
和插入分别返回Future[A]
和Future[Int]
。当我在要插入的一些记录上运行此代码时,我意识到findByCode
没有找到已插入的记录并且我得到了大量的记录重复。作为一种解决方法,我在我的数据库中建立了一个约束(由 postgres 驱动),但我想知道我是否在代码中做错了,或者当我刚刚插入时,可能无法保证检查记录是否存在另一个并发事务?
什么是我的目的的最佳推荐方式?
1)建立唯一性约束并包装插入int尝试块?(我现在用这个)
2)使用带有一个查询的plainsql实现insertOrUpdate(插入不存在的位置(选择位置...))
3) 为此类查询编写一个同步包装器(使用 Await)并在一个线程中同步运行它们
4) 其他
提前感谢您的任何建议。
postgresql - 批量插入时 Slick 3.0 中的数据库异常
在通过 slick 3 中的批量插入每五秒插入数千条记录时,我得到了
我的数据访问层如下所示:
在插入批处理中关闭连接没有效果......它仍然给出同样的错误。
我从我的代码中调用插入批处理,如下所示:
如果我在这里工作后关闭连接,正如您在注释代码中看到的那样,我会收到错误:
像这样调用没有 Future.sequence 的方法后:
我仍然有太多客户错误...
scala - Slick 3.0:从 Option 内部的数据库获取结果的惯用方式(Scala Play Framework)
我有这个代码,API
它允许我从数据库中检索和对象并JSON
使用以下方法返回一个对象Slick 3.0
:
问题是,如果我查询一个不在数据库中的对象,我会得到一个异常。我想做的是获取从返回的Option
内部,以便能够编写如下内容:Future
Model
是否有意义?
scala - 筛选 slick 3 中的数字列表
我遇到了一个过滤 slick-3 中数字列表的条件。这是我的实体。
在这里我想搜索companyTypeId
它是Option[List[Long]]
我尝试通过companyTable.filter(_.companyTypeId === Some(List(1,2)))
但得到Vector()
并且表中有一行数据,companyTypeId 为 {1}。我正在使用 Postgres DB。
提前致谢。
scala - 如何在 Slick 3.0.0 中使用 StaticQuery?
在 Slick 2.1 中,我使用以下代码从文件中执行 sql 查询:
在 Slick 3.0.0 中,您使用 dbConfig.db.run 方法来执行 DBIOAction 并获得结果的未来。但我找不到将 Q.queryNA (即StaticQuery[Unit, R]
)的结果转换为DBIOAction
. 这种方式存在吗?
我现在结束了不推荐使用的电话。帮助我变得更好!
slick - Slick 3.0 记录查询性能
目前我已启用调试登录:
它记录事务开始/结束、由 slick 运行的已编译 sql 查询以及成功/结果。
slick 可以为我提供有关查询运行时间的信息吗?我应该在哪个包上启用 DEBUG 模式以获取此信息?
编辑:
我发现这个链接说这是不可能的。这仍然成立吗?
scala - Query 或 DBIOAction 的通用类型
我正在尝试将查询或操作作为参数传递给方法。原因是我想对同一张表上不同查询的结果运行相同的操作。
例如:
还有我的方法:
轮流我不能只传递 query1 或 query2 因为它们有不同的类型(这是我的 ide 自动完成的):
此外,ListItems.TableElementType 中的 ListItems 会导致编译器错误:“未找到:值 ListItems”。
我还尝试通过操作而不是查询来查看我是否有更多的运气,但事实并非如此。类型相同,但 ListItems.TableElementType 仍然显示错误“未找到:值 ListItems”。
如何将这些查询或操作作为参数传递给常用方法?