数据库演变在 Play 框架中不起作用,我收到以下异常
Database evolutions not working in Play framework and I'm getting following exception
我正在使用以下行 运行 放置在 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)
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)
2 errors
我正在使用带有 Slick 3.0.3 和 Postgresql 数据库的 Scala 版本 2.11.7。知道我做错了什么吗?我还尝试在 conf/application.conf
文件中添加 db.default.driver
和 db.default.url
属性。那没有用。
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"
我正在使用以下行 运行 放置在 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)
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)
2 errors
我正在使用带有 Slick 3.0.3 和 Postgresql 数据库的 Scala 版本 2.11.7。知道我做错了什么吗?我还尝试在 conf/application.conf
文件中添加 db.default.driver
和 db.default.url
属性。那没有用。
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"