我使用下面的代码行运行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.url
和conf/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"