我正在尝试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的演示编译器'中的一个错误,而且这个问题很明显。答案 0 :(得分:11)
我确实遇到了同样的问题,这就是我为摆脱它而做的事情:
我的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)