2016-11-14 62 views
0

我刚开始使用Scala中的Play Framework进行学校项目,所以我对这个框架还不太了解。我试图用光滑的方式将我的项目连接到PostgreSql,但它不工作。我在Play网站和许多教程中发现的完全一样,但不起作用。PlaySlick与PostgreSQL的数据库连接

这是application.conf文件中的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.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" 

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

有没有人知道这个原因?

回答

0

任何人都应该遇到这个问题,这些都是我找到的解决方案。

  • 我将slick db config放置在配置文件中的db {}块中,但这是错误的,它应该直接在配置文件的外部。
  • 我需要添加一个测试查询,可用于测试连接e.g

    slick.dbs.default.db.connectionTestQuery = “SELECT TRUE”

这它的工作之后。