2016-08-08 9 views
1

Slick 3.1.1を使用してプレーンSQLクエリを実行しようとすると、Getting StartedDatabase Configurationのガイドに従いました。PostgreSQL用のSlick 3.1.1の設定方法は?プレーンなSQLクエリを実行している間に私の設定パラメータを無視しているようです

問題は、コードが正常にコンパイルされている間、それは(configにものが間違っている)私のデータベースパラメータを無視している(それが例外をスローする必要がありながら)、それはSTDOUTにこれを印刷していることである:

HikariCP pool database is starting. 
List() 
ここ

は私のテストコードです:ここで

import slick.driver.PostgresDriver.api._ 
import scala.concurrent.ExecutionContext.Implicits.global 

object app extends App { 
    doit 
    def doit { 
    val db = Database.forConfig("mydb") 
    val result = db.run(sql"SELECT NOW()".as[String]) 
    println(result) 
    } 
} 

は 'application.conf'

mydb = { 
    dataSourceClass = "org.postgresql.ds.PGSimpleDataSource" 
    properties = { 
    databaseName = "mydb" 
    user = "myuser" 
    password = "secret" 
    } 
    numThreads = 10 
} 

ですここに 'build.sbt'があります

libraryDependencies ++= Seq(
    "org.postgresql" % "postgresql" % "9.4.1208", 
    "mysql" % "mysql-connector-java" % "5.1.35", 
    "com.typesafe.slick" %% "slick" % "3.1.1", 
    "com.typesafe.slick" %% "slick-hikaricp" % "3.1.1", 
    "com.zaxxer" % "HikariCP" % "2.4.7" 
) 

また、私はscala "2.11.8"を持っています。

答えて

1

問題はコンフィギュレーションではなく、どのように動作することを期待していましたか。

間違った資格情報とこの行を使用してデータベースを設定している間、私は例外を期待:

val result = db.run(sql"SELECT NOW()".as[String]) 

それはどんなexpectionをスローしませんdb.run未来を返すため、プログラムはちょうどこの、クエリの後に終了Await.resultを使用して実行されることはありません。Futureは、間違った設定の例外をスローするか、適切な値を返します。

import scala.concurrent.Await 
import scala.concurrent.duration.Duration 

println(Await.result(result, Duration.Inf)) 
関連する問題