0

我刚开始在 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>"

1. conf/evolutions/default 中的 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"

当我使用激活器运行时,我根本看不到任何有关数据库连接的日志或任何错误。应用程序刚刚启动,但数据库中没有任何表。

有谁知道这其中的原因?

4

1 回答 1

0

如果有人遇到这个问题,这些是我找到的解决方案。

  • 我将光滑的 db 配置放在配置文件内的 db{} 块中,但这是错误的,它应该直接在配置文件内部。
  • 我需要添加一个可用于测试连接的测试查询,例如

    slick.dbs.default.db.connectionTestQuery="SELECT TRUE"

在此之后它起作用了。

于 2016-11-14T22:21:12.640 回答