使用Play 2和Slick-Play配置Postgresql连接

时间:2015-06-10 00:02:09

标签: database postgresql scala slick play-slick

我正在学习如何使用Scala和Play 2 Framemork构建应用程序。我使用激活工具创建了一个新项目,基于“play-scala-intro”当前模板。

该模板有一个使用Play-Slick 1.0管理依赖关系的示例应用程序,并配置了H2 DB,可以正常工作。

当我尝试更改为Postgres数据库时,我遇到了麻烦。我收到错误500,告诉我:

  

“无法连接到数据库[默认]”。

在堆栈跟踪中,例外是:

  

“已配置的Slick驱动程序org.postgresql.Driver不是。的实例   请求个人资料slick.profile.BasicProfile“

所以...我已经做了什么:

我在build.sbt文件中添加了依赖项:

  

“org.postgresql”%“postgresql”%“9.4-1201-jdbc41”

在我的配置文件(application.conf)中,数据库连接配置为:

  

slick.dbs.default.driver = org.postgresql.Driver   slick.dbs.default.db.url = “JDBC:在PostgreSQL://本地主机:5432 / hello_play”   slick.dbs.default.db.user =“postgres”slick.dbs.default.db.password =“”

PS:我也尝试过使用slick.dbs.default.driver =“org.postgresql.Driver”......

PS2:我的数据库密码为空。我正在与PgAdmin连接而没有问题

1 个答案:

答案 0 :(得分:25)

slick.dbs.default.driver必须是一个灵活的驱动程序,而不是JDBC驱动程序。您的db配置应如下所示:

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=""