Entonces, la respuesta definitiva es:
Primero, hay un error en la URL de la base de datos, debería ser db.default.url="jdbc:postgresql://localhost:5432/playdb"
como chabeee señaló
. Es el único formato correcto para db.default.url
(así que no jdbc:postgresql://username:pasword:localhost/dbname
o similar, como he visto sugerir en otros lugares).
En segundo lugar, más complicado, es que hay un error en el controlador como Salem señaló
y la solución es agregar db.default.hikaricp.connectionTestQuery = "SELECT 1"
a application.conf
.
Sin embargo, ese error está solucionado (bueno, esa solución está implementada) en versiones más recientes que 9.1-903
. El truco es, después de la versión 9.1-901
postgresql cambió su ID de grupo en los repositorios y ahora es referenciado por org.postgresql
. Una solución mejor que la alternativa sería actualizar las dependencias a "org.postgresql" % "postgresql" % "9.4-1206-jdbc4"
(versión actual
, MVNrepository
). Agregue la versión adecuada de jdbc al controlador PostgreSQL más reciente (4
para Java 6, 41
para Java 7, 42
para Java 8).
Mi application.conf
final :
db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgresql://localhost/playdb" #the port is optional
db.default.username="luka"
db.default.password="test"
Y libraryDependencies
en build.sbt
:
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
ACTUALIZACIÓN 2017: Solo ahora me di cuenta de que no mucho después de escribir esta respuesta, cambiaron el esquema de versiones y eliminaron el fragmento -jdbc [código], reemplazándolo con .jre6, .jre7 o nada, lo que aparentemente significa que está destinado a la última versión de Java (no he encontrado algo que respalde esta afirmación, pero funciona). Una vez más, en febrero de 2017, cambiaron el esquema de versiones nuevamente
y saltó de la versión principal 9 a la 42, haciendo que la versión actual (a partir del 17 de julio de 2017) se denote con "org.postgresql" % "postgresql" % "42.1.3"
(o, en consecuencia, "org.postgresql" % "postgresql" % "42.1.3.jre7"
/ "org.postgresql" % "postgresql" % "42.1.3.jre6"
)