【问题标题】:Error: value seq is not a member of object slick.dbio.DBIO错误:值 seq 不是对象 slick.dbio.DBIO 的成员
【发布时间】:2015-08-06 20:02:59
【问题描述】:

我正在 play 框架中编写一个 Web 应用程序。我决定使用 slick (FRM) 在我的数据库 (postgre) 中进行查询。我是 slick 新手,所以我开始关注 3.0.0 版本的 slick 官方文档 http://slick.typesafe.com/doc/3.0.0/gettingstarted.html

根据文档,我在 build.sbt 文件中添加了依赖项

libraryDependencies ++= Seq(
  "com.typesafe.slick" %% "slick" % "3.0.0",
  "org.slf4j" % "slf4j-nop" % "1.6.4"
)

其他一切工作正常,但在我的 Scala IDE 中写下一行。显示错误,

值 seq 不是对象 slick.dbio.DBIO 的成员

val setup = DBIO.seq(
// Above line is showing error

(suppliers.schema ++ coffees.schema).create,
.
.
.
)

事实上,Scala IDE(与 Eclipse IDE 相同)没有检测到对象 DBIO 的任何成员,尽管当我浏览对象 DBIO 的相同版本 http://slick.typesafe.com/doc/3.0.0/api/#slick.dbio.DBIO$ 的 slick api 时,我看到 seq 是它的成员。

我哪里做错了?

【问题讨论】:

标签: postgresql scala playframework slick


【解决方案1】:

正如 Retronym 和 Chris Scot 所预料的那样,problem was fixed 与 Slick 3.1 一起发布

【讨论】:

  • Slick 3.1.1:问题仍然存在 (TripSaver.scala:20: value Seq is not a member of object slick.dbio.DBIOAction [error] val insert = DBIO.Seq(checkpoints map (POI(None, _, None)) map (T.POIs += _))
  • @VitalyIsaev 你能用小写的s 检查DBIO.seq(不是DBIO.Seq)吗?
【解决方案2】:

您需要为正在使用的数据库导入 API:

import slick.driver.PostgresDriver.api._

【讨论】:

    【解决方案3】:

    我不确定您是否得到了答案(我正在回答那些将来可能会偶然发现此问题的人),但我已经通过升级到 3.0.0-M1 并使用 Action 解决了这个问题。 seq() 而不是 DBIO.seq()

    这可能也适用于 3.0.0,但我不确定我从 Slick 2.x 升级到 3.0.0-M1!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 2019-01-02
      • 2015-05-14
      相关资源
      最近更新 更多