Hi all this is my first post. I am learning Scala and Play Framework and I'm attempting to write my first database backed web app. At the moment my application gives me the following error which I need help with.
ProvisionException: Unable to provision, see the following errors:
1) No implementation for play.api.db.slick.DatabaseConfigProvider was bound.
while locating play.api.db.slick.DatabaseConfigProvider
for parameter 0 at controllers.HomeController.<init>(HomeController.scala:19)
Below are the current code that I have in all the relevant files:
build.sbt
name := """RocfPlay"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
cache,
ws,
"org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test,
"com.typesafe.play" %% "play-slick" % "2.0.0",
"com.typesafe.play" %% "play-slick-evolutions" % "2.0.0",
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42"
)
resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
application.conf
slick.dbs.default.driver="slick.driver.PostgresDriver$"
slick.dbs.default.db.driver="slick.jdbc.DatabaseUrlDataSource"
slick.dbs.default.db.properties.driver="org.postgresql.Driver"
slick.dbs.default.db.username=root
slick.dbs.default.db.password=""
HomeController.scala
package controllers
import javax.inject._
import play.api._
import play.api.mvc._
import scala.concurrent.Future
import play.api.db.slick.DatabaseConfigProvider
import play.api.db.slick.HasDatabaseConfigProvider
import play.api.libs.concurrent.Execution.Implicits.defaultContext
import slick.driver.JdbcProfile
@Singleton
class HomeController @Inject()(dbConfigProvider: DatabaseConfigProvider) extends Controller {
val dbConfig = dbConfigProvider.get[JdbcProfile]
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
The application was generated by option 6 from the command
I haven't modified anything else apart from the above. What I want to do is hook the application up to a postgres database calles rocf_db and create a basic crud application.
Cheers