使用 slick 3.0.0-RC1 无法在 TableQuery 上找到方法结果
can't find method result on TableQuery with slick 3.0.0-RC1
我正在试用 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
错误是:
"Cannot resolve symbol result"
正在阅读 docs 我真的不明白为什么会失败。我在这里错过了什么吗?
分辨率
szeiger 指出这可能是“IntelliJ 的演示编译器”中的一个错误,而且是正确的。
你可以试试
val result = db.withSession(implicit session => issueQuery.list)
我确实遇到了同样的问题,这是我为摆脱它所做的工作:
- 已将 IntelliJ 更新至版本 14.1.3
- 使用 Scala 插件版本 1.5
我的scala版本是2.11.6
我希望这对可能 运行 遇到同样问题的人有所帮助!
这是我在使用 IntelliJ IDEA 时经常遇到的一个常见问题。
如果使用激活器,命令 - "activator idea" 帮助我解决了问题。
它重新创建了 .idea 和 IdeaProject.iml 文件,然后重新加载了项目。
我目前使用activator-1.3.4
如果有人遇到类似问题:
TableQuery 上没有结果方法
仔细检查您是否有 import slick.jdbc.PostgresProfile.api._
我正在试用 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
错误是:
"Cannot resolve symbol result"
正在阅读 docs 我真的不明白为什么会失败。我在这里错过了什么吗?
分辨率
szeiger 指出这可能是“IntelliJ 的演示编译器”中的一个错误,而且是正确的。
你可以试试
val result = db.withSession(implicit session => issueQuery.list)
我确实遇到了同样的问题,这是我为摆脱它所做的工作:
- 已将 IntelliJ 更新至版本 14.1.3
- 使用 Scala 插件版本 1.5
我的scala版本是2.11.6
我希望这对可能 运行 遇到同样问题的人有所帮助!
这是我在使用 IntelliJ IDEA 时经常遇到的一个常见问题。
如果使用激活器,命令 - "activator idea" 帮助我解决了问题。
它重新创建了 .idea 和 IdeaProject.iml 文件,然后重新加载了项目。 我目前使用activator-1.3.4
如果有人遇到类似问题:
TableQuery 上没有结果方法
仔细检查您是否有 import slick.jdbc.PostgresProfile.api._