Sto provando Slick 3.0.0-RC1
e sto correndo verso un problema dispari.non riesce a trovare il risultato del metodo su TableQuery con slick 3.0.0-RC1
Tale è il mio codice:
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
L'errore è:
"Impossibile risolvere il risultato simbolo"
Leggendo la docs non posso davvero capire perché questo dovrebbe fallire. Mi sto perdendo qualcosa qui?
Risoluzione
szeiger ha sottolineato che questo potrebbe essere un bug nel 'di IntelliJ presentazione del compilatore', e che era perfetto.
Che cosa significa "compilare" significa qui? C'è un bug noto nel compilatore di presentazione di IntelliJ che impedisce di trovare il metodo. L'attuale compilatore Scala dovrebbe essere in grado di compilarlo. – szeiger
Hai ragione sul denaro. Non mi sono mai preso la briga di compilare con sbt dato che IDEA mi ha dato un errore. Grazie! – brujoand
Peccato che IntelliJ non capisca. Rovina tutto quando lo si utilizza per un grande progetto in cui IDE è un must. Il che è un po 'il punto - per ottenere il controllo della compilazione e i completamenti automatici – kornfridge