PlaySlick 数据库连接到 PostgreSQL
Posted
技术标签:
【中文标题】PlaySlick 数据库连接到 PostgreSQL【英文标题】:PlaySlick Database Connection to PostgreSQL 【发布时间】:2016-11-14 20:41:11 【问题描述】:我刚开始在 Scala 中为一个学校项目使用 Play Framework,所以我对该框架还不太了解。我正在尝试使用 slick 将我的项目连接到 PostgreSql,但它不起作用。我做了与在 Play 网站和许多教程中找到的完全相同的操作,但它不起作用。
这是我在 application.conf 文件中的数据库配置
slick.dbs.default.driver="slick.driver.PostgresDriver$"
slick.dbs.default.db.driver="org.postgresql.Driver"
slick.dbs.default.db.url="jdbc:postgresql://localhost:5432/IRProject"
slick.dbs.default.db.user="<my_username>"
slick.dbs.default.db.password="<my_password>"
conf/evolutions/default中的1.sql文件
# --- !Ups
CREATE TABLE Document(
id SERIAL PRIMARY KEY NOT NULL,
title VARCHAR(500),
date TIMESTAMP WITH TIME ZONE,
url VARCHAR(1000) NOT NULL ,
path VARCHAR(1000) NOT NULL ,
summary VARCHAR(5000) NOT NULL
);
# --- !Downs
DROP TABLE IF EXISTS Document;
我的依赖:
"org.webjars" % "jquery" % "2.1.3",
"com.typesafe.play" %% "play-slick" % "1.1.1",
"com.typesafe.play" %% "play-slick-evolutions" % "1.1.1",
"postgresql" % "postgresql" % "9.1-901.jdbc4"
当我使用激活器运行时,我根本看不到任何关于数据库连接的日志或任何错误。应用程序刚刚启动,但数据库中没有任何表。
有人知道这是什么原因吗?
【问题讨论】:
【参考方案1】:如果有人遇到这个问题,这些是我找到的解决方案。
我将光滑的 db 配置放在配置文件内的 db 块中,但这是错误的,它应该直接在配置文件的外部。我需要添加一个可用于测试连接的测试查询,例如
slick.dbs.default.db.connectionTestQuery="SELECT TRUE"
在这之后它起作用了。
【讨论】:
以上是关于PlaySlick 数据库连接到 PostgreSQL的主要内容,如果未能解决你的问题,请参考以下文章
致命:连接到 postgres 时用户“postgres”的密码验证失败