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

时间:2015-02-22 10:02:50

标签: scala slick slick-3.0

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

这是我的代码:

import slick.driver.SQLiteDriver.api._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Await
import scala.concurrent.duration.Duration

lazy val db = Database.forURL(
  url = "jdbc:sqlite:thebase.db",
  driver = "org.sqlite.JDBC"
)

case class Issue(id: Option[Int], name: String)     

class IssueTable(tag: Tag) extends Table[Issue](tag, "issue"){
  def id = column[Int]("issue_id", O.PrimaryKey)
  def name = column[String]("name")
  def * = (id.?, name) <> (Issue.tupled, Issue.unapply _)
}

val issueQuery = TableQuery[IssueTable]

Await.result(db.run(issueQuery.result), Duration.Inf) // This does not compile

错误是:

  

“无法解析符号结果”

阅读docs我无法理解为什么会失败。我在这里错过了什么吗?

解决

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

4 个答案:

答案 0 :(得分:11)

我确实遇到了同样的问题,这就是我为摆脱它而做的事情:

  1. 将IntelliJ更新至版本14.1.3
  2. 二手Scala插件版本1.5
  3. 我的scala版本是2.11.6

    我希望这可以帮助那些可能遇到同样问题的人!

答案 1 :(得分:0)

这是我经常使用IntelliJ IDEA时遇到的常见问题。

如果使用激活器,命令 - &#34;激活器的想法&#34; 帮助我解决了这个问题。

重新创建.idea和IdeaProject.iml文件,然后重新加载项目。 我目前使用的是activator-1.3.4

答案 2 :(得分:0)

如果有人遇到类似的问题:

TableQuery上没有结果方法

DOUBLE检查您是否有import slick.jdbc.PostgresProfile.api._

答案 3 :(得分:-4)

您可以尝试

val result = db.withSession(implicit session => issueQuery.list)