can't find method result on TableQuery with slick 3.0.0-RC1

纵然是瞬间 提交于 2019-12-03 11:37:46

问题


I am trying out Slick 3.0.0-RC1 and I'm running in to an odd problem.

Such is my code:

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

The error is:

"Cannot resolve symbol result"

Reading the docs I can't really see why this should fail. Am I missing something here?

Resolution

szeiger pointed out that this could be a bug in 'IntelliJ's presentation compiler', and that was spot on.


回答1:


I did hit the same problem and here is what I did to get rid of it:

  1. Updated IntelliJ to version 14.1.3
  2. Used Scala Plugin version 1.5

My scala version is 2.11.6

I hope this helps somebody who might run into the same problem!




回答2:


If someone is facing a similar issue:

no result method on TableQuery

DOUBLE check whether you have import slick.jdbc.PostgresProfile.api._




回答3:


This is a regular problem I faced quite often with IntelliJ IDEA .

If using activator, the command - "activator idea" helped me resolve the issue.

It re-created the .idea and IdeaProject.iml files and then re-loaded the project. I currently use activator-1.3.4




回答4:


You may try

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


来源:https://stackoverflow.com/questions/28656601/cant-find-method-result-on-tablequery-with-slick-3-0-0-rc1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!