我正在使用以下行来运行放置在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版本2.11.7与Slick 3.0.3和Postgresql数据库。知道我做错了什么吗?我还尝试在db.default.driver
文件中添加db.default.url
和conf/application.conf
属性。那没用。
答案 0 :(得分:0)
Guice失败,因为它无法使用给定的配置创建数据库连接。
确保您的配置正确并指向正确的数据库。
我正在使用具有以下配置的play-slick
,它对我来说效果很好。
build.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"