तो, निश्चित उत्तर है:
सबसे पहले, डेटाबेस url में एक गलती है, यह db.default.url="jdbc:postgresql://localhost:5432/playdb"
होना चाहिए। जैसा कि चबी ने बताया
. db.default.url
. के लिए यह एकमात्र सही प्रारूप है (इसलिए नहीं jdbc:postgresql://username:pasword:localhost/dbname
या इसी तरह, जैसा कि मैंने अन्य स्थानों पर सुझाव देते देखा है)।
दूसरा, अधिक मुश्किल यह है कि ड्राइवर में एक बग है सलेम ने बताया
और समाधान db.default.hikaricp.connectionTestQuery = "SELECT 1"
जोड़ रहा है करने के लिए application.conf
.
हालांकि, उस बग को 9.1-903
की तुलना में हाल के संस्करणों में ठीक किया गया है (ठीक है, वह समाधान लागू किया गया है) . संस्करण 9.1-901
. के बाद पकड़ है postgresql ने रेपो में अपना groupID बदल दिया है और अब इसे org.postgresql
द्वारा संदर्भित किया गया है . वर्कअराउंड से बेहतर समाधान निर्भरता को "org.postgresql" % "postgresql" % "9.4-1206-jdbc4"
पर अपडेट करना होगा। (वर्तमान संस्करण
, MVNrepository
) नवीनतम PostgreSQL ड्राइवर (4
. में उपयुक्त jdbc संस्करण जोड़ें जावा 6 के लिए, 41
जावा 7 के लिए, 42
जावा 8 के लिए)।
मेरा अंतिम application.conf
:
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"
और libraryDependencies
build.sbt
. में :
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
अद्यतन 2017: मैंने अब केवल यह देखा है कि इस उत्तर को लिखने के कुछ समय बाद ही उन्होंने संस्करण योजना को बदल दिया और -jdbc [code] खंड को हटा दिया, इसे .jre6, .jre7 या कुछ भी नहीं के साथ बदल दिया, जाहिरा तौर पर इसका मतलब नवीनतम जावा संस्करण के लिए है (मैंने नहीं किया है इस दावे का समर्थन करने वाला कुछ भी मिला, लेकिन यह काम करता है)। फिर भी फरवरी 2017 में उन्होंने संस्करण योजना को फिर से बदल दिया
और प्रमुख संस्करण 9 से 42 तक कूद गया, जिससे वर्तमान संस्करण (17 जुलाई 2017 तक) को "org.postgresql" % "postgresql" % "42.1.3"
द्वारा दर्शाया गया। (या, तदनुसार, "org.postgresql" % "postgresql" % "42.1.3.jre7"
/ "org.postgresql" % "postgresql" % "42.1.3.jre6"
)