2015-02-22 13 views
27

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.

+5

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

+0

Masz rację na pieniądze. Nigdy nie przejmowałem się kompilacją z sbt, ponieważ IDEA dał mi błąd. Dzięki! – brujoand

+0

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

Odpowiedz

10

I trafił ten sam problem i tutaj jest to, co zrobiłem, aby pozbyć się go:

  1. Aktualizacja do wersji 14.1.3 IntelliJ
  2. Używane Scala Wersja wtyczki 1.5

Moja wersja scala to 2.11.6

Mam nadzieję, że pomoże to komuś, kto może napotkać ten sam problem!

+0

Aktualizacja do najnowszej wtyczki JetBrain Scala w wersji 1.5.2 naprawiła to dla mnie – ObjectiveTruth

-4

Możesz spróbować

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

Jest to zwykły problem, z którym często stykam się z IntelliJ IDEA.

Jeśli używasz aktywatora, polecenie - "pomysł aktywatora" pomogło mi rozwiązać problem.

Ponownie utworzono pliki .idea i IdeaProject.iml, a następnie ponownie załadowano projekt. Obecnie używać aktywator-1.3.4

0

Jeśli ktoś stoi podobny problem:

żadna metoda wynik na TableQuery

dokładnie sprawdzić, czy masz import slick.jdbc.PostgresProfile.api._

Powiązane problemy