2016-11-14 98 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」

這它的工作之後。