2015-02-22 14 views
27

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.

+5

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

+0

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

+0

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

risposta

10

ho colpito lo stesso problema e qui è quello che ho fatto per sbarazzarsi di esso:

  1. Aggiornato IntelliJ alla versione 14.1.3
  2. Usato Scala Plugin versione 1.5

La mia versione di scala è 2.11.6

Spero che questo aiuti qualcuno che potrebbe incontrare lo stesso problema!

+0

Aggiornamento per l'ultimo plugin JetBrain Scala 1.5.2 risolto questo per me – ObjectiveTruth

-4

Puoi provare

val result = db.withSession(implicit session => issueQuery.list) 
0

Questo è un problema normale che ho affrontato abbastanza spesso con IntelliJ IDEA.

Se si utilizza l'attivatore, il comando - "idea di attivatore" mi ha aiutato a risolvere il problema.

Ha ricreato i file .idea e IdeaProject.iml e quindi ha ricaricato il progetto. Attualmente uso attivatore-1.3.4

0

Se qualcuno si trova ad affrontare un problema simile:

nessun metodo risultato sul TableQuery

doppio controllo se si dispone di import slick.jdbc.PostgresProfile.api._

Problemi correlati