2012-06-28 105 views
3

我一直在關注本教程以熟悉的遊戲框架:使用與播放框架數據庫

http://www.playframework.org/documentation/2.0.2/ScalaTodoList

當到達「在數據庫中堅持的任務」部分,目前還不清楚對我而言,我是否必須做任何事情來啓動數據庫,或者如果這是爲我自動完成的。我目前收到此錯誤:

[例外:DB插件未註冊]

+0

你有沒有看到[這個問題](http://stackoverflow.com/questions/9863095/db-plugin-is-not-registered-in-play-2-0)? – ig0774

+0

是的,無論Google發送給我的只是我遇到過這個問題。我找不到我的application.conf文件有問題。 –

回答

2

這取決於你使用的數據庫的類型。

H2數據庫(在Play!教程中使用的數據庫)可用作an in-memory database or as a disk based database。如果你去這個數據庫,Play將爲你處理所有的事情。您不必運行特定服務即可擁有持久數據庫。

但你會在你的application.conf描述使用的驅動程序和URL訪問:

db.default.driver=org.h2.Driver

db.default.url="jdbc:h2:mem:play"

正如你可能沒有在類路徑正確的驅動程序,您必須包括這驅動程序庫。如Play2 documentation中所解釋的,您可以在project/Build.scala中進行管理。對於h2 driver lib的依賴將是:

val appDependencies = Seq(
    "com.h2database" % "h2" % "1.3.167" 
) 

有改變你的依賴後,你將需要重新加載應用程序生成的文件,並更新相關性:

//in sbt 
reload 
update 

如何將您的遊戲應用程序與數據庫鏈接解釋here

如果您想使用其他數據庫(Mysql,Postgresql ...),則必須自己運行數據庫服務並重復此處所述的步驟。

+0

Upvoted for knowledge,但是這仍然不能解決問題。我修改了Build.scala並重新加載並更新了整個項目,但錯誤仍然存​​在。 FWIW:添加1.sql腳本文件並刷新頁面後,我沒有收到Apply腳本頁面。 –

+0

你應該重新從頭開始教程,問題是在數據庫插件註冊。你的application.conf應該有問題。檢查應用程序「dbplugin = disabled」是否存在,並且文件中有db.default conf – iwalktheline

+0

h2驅動程序與play 2捆綁在一起,因此不需要包含依賴項。請參閱http://www.playframework.com/documentation/2.0.4/ScalaDatabase – juanmirocks