Не удается найти результат метода в TableQuery с 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
Ошибка:
"Невозможно разрешить результат символа"
Чтение docs Я не могу понять, почему это должно завершиться неудачей. Я что-то упустил?
Разрешение
szeiger отметил, что это может быть ошибкой в "компиляторе презентации IntelliJ", и это было на месте.
Ответы
Ответ 1
Я столкнулся с той же проблемой, и вот что я сделал, чтобы избавиться от нее:
- Обновлен IntelliJ до версии 14.1.3
- Используется Scala Плагин версии 1.5
Моя версия Scala - 2.11.6
Надеюсь, это поможет кому-то, кто может столкнуться с одной и той же проблемой!
Ответ 2
Это обычная проблема, с которой я сталкивался довольно часто с IntelliJ IDEA.
При использовании активатора команда - "идея активатора" помогла мне решить проблему.
Он воссоздал файлы .idea и IdeaProject.iml, а затем повторно загрузил проект.
В настоящее время я использую активатор-1.3.4
Ответ 3
Если кто-то сталкивается с аналогичной проблемой:
нет метода результата в TableQuery
DOUBLE проверьте, есть ли у вас import slick.jdbc.PostgresProfile.api._
Ответ 4
Вы можете попробовать
val result = db.withSession(implicit session => issueQuery.list)