2015-06-10 22 views
12

Tôi đang học cách xây dựng một ứng dụng bằng Scala và Play 2 Framemork. Tôi đã tạo một dự án mới bằng cách sử dụng công cụ kích hoạt, dựa trên mẫu hiện tại "play-scala-intro".Cấu hình kết nối Postgresql với Play 2 và Slick-Play

Mẫu có ứng dụng mẫu sử dụng Play-Slick 1.0 để quản lý các phụ thuộc và được định cấu hình bằng H2 DB, hoạt động không có sự cố.

Khi tôi cố chuyển sang DB Postgres, tôi đang gặp sự cố. Tôi gặp lỗi 500, nói cho tôi biết:

"Không thể kết nối với cơ sở dữ liệu [mặc định]".

Trong stack trace, ngoại trừ là:

"Configured lái xe Slick org.postgresql.Driver không phải là một thể hiện của yêu cầu hồ sơ slick.profile.BasicProfile"

Vì vậy ... Những gì tôi đã làm:

Tôi đã thêm vào tệp build.sbt của mình phụ thuộc:

"org.postgresql" % "postgresql" % "9,4-1201-jdbc41"

Trong tập tin cấu hình của tôi (application.conf), kết nối DB được cấu hình như sau:

slick.dbs.default.driver = org.postgresql.Driver slick.dbs.default.db.url = "jdbc: postgresql: // localhost: 5432/hello_play" slick.dbs.default.db.user = "postgres "slick.dbs.default.db.password =" "

PS: Tôi đã thử với slick.dbs.default.driver = "org.postgresql.Driver" quá ...

PS2: Mật khẩu db của tôi trống. Tôi đang kết nối với PgAdmin mà không gặp sự cố

Trả lời

24

slick.dbs.default.driver phải là trình điều khiển khéo léo, chứ không phải trình điều khiển JDBC. Cấu hình db của bạn sẽ trông giống như sau:

slick.dbs.default.driver="slick.driver.PostgresDriver$" 
slick.dbs.default.db.driver="org.postgresql.Driver" 
slick.dbs.default.db.url="jdbc:postgresql://localhost:5432/hello_play" 
slick.dbs.default.db.user="postgres" 
slick.dbs.default.db.password="" 
Các vấn đề liên quan