Próbuję obecnie Slick 3.0.0-RC1
i mam uruchomiony dziwny problem.nie można znaleźć wynik metody w TableQuery ze śliskim 3.0.0-RC1
Taki jest mój kod:
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
Błąd jest:
"Nie można rozwiązać rezultat symbol"
Czytając docs naprawdę nie mogę zrozumieć, dlaczego ten powinien zawieść. Czy coś mi umyka?
Rozdzielczość
szeiger zwrócił uwagę, że może to być błąd w „IntelliJ w prezentacji kompilatora”, i to było na miejscu.
Co oznacza termin „kompilacji” znaczy tutaj? Istnieje znany błąd w kompilatorze prezentacji IntelliJ, który uniemożliwia mu znalezienie tej metody. Rzeczywisty kompilator Scali powinien być w stanie go skompilować. – szeiger
Masz rację na pieniądze. Nigdy nie przejmowałem się kompilacją z sbt, ponieważ IDEA dał mi błąd. Dzięki! – brujoand
Szkoda, że IntelliJ tego nie rozumie. Wszystko rujnuje się podczas korzystania z niego w przypadku dużego projektu, w którym IDE jest koniecznością. Co jest dla ciebie najważniejsze - aby sprawdzić kompilację i autouzupełnianie – kornfridge