我使用下面的代码行运行conf/evolutions/default/1.sql中的进化脚本

libraryDependencies += evolutions

我有个意外的例外
CreationException: Unable to create injector, see the following errors:

1) No implementation for play.api.db.DBApi was bound.
  while locating play.api.db.DBApi
    for parameter 3 at play.api.db.evolutions.ApplicationEvolutionsProvider.<init>(EvolutionsModule.scala:45)
  at play.api.db.evolutions.EvolutionsModule.bindings(EvolutionsModule.scala:22):
Binding(class play.api.db.evolutions.ApplicationEvolutions to ProviderConstructionTarget(class play.api.db.evolutions.ApplicationEvolutionsProvider) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)

2) No implementation for play.api.db.DBApi was bound.
  while locating play.api.db.DBApi
    for parameter 0 at play.api.db.evolutions.DefaultEvolutionsApi.<init>(EvolutionsApi.scala:71)
  at play.api.db.evolutions.EvolutionsModule.bindings(EvolutionsModule.scala:21):
Binding(interface play.api.db.evolutions.EvolutionsApi to ConstructionTarget(class play.api.db.evolutions.DefaultEvolutionsApi)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)

2 errors

我正在使用Scala version 2.11.7和Slick 3.0.3以及Postgresql数据库。知道我做错了什么吗?我还尝试在db.default.driver文件中添加db.default.urlconf/application.conf属性。那没用。

最佳答案

Guice失败,因为它无法使用给定的配置创建数据库连接。
确保您的配置正确并且指向正确的数据库。
我将play-slick与以下配置一起使用,它对我很好。
生成.sbt

"com.typesafe.play" %% "play-slick" % "2.0.0"

application.conf文件
slick.dbs.default.driver="slick.driver.PostgresDriver$"
slick.dbs.default.db.driver="org.postgresql.Driver"
slick.dbs.default.db.url="jdbc:postgresql:dasldaljdlajdja"
slick.dbs.default.db.user=sasdas
slick.dbs.default.db.password="adasdasdas"

09-30 17:08
查看更多