2011-06-07 32 views
14

我試圖在Play中訪問我的應用程序的表格!框架,但我無法使用控制檯找到它。例如,我有兩個實體模型:AddressCampus使用H2控制檯訪問mem或fs數據庫表

我可以創建對象並正常保存,但我希望看到fs或mem DB中的更改,但H2控制檯不顯示錶AddressCampus。我正在使用默認設置登錄localhost:9000/@db

我在做什麼錯?

在此先感謝。

+0

到目前爲止我不知道這個遊戲框架......你的數據庫URL是什麼(如果這個框架中有數據庫的URL)? –

+0

感謝你們,這是一款用於PlayFramework的H2 Gui,爲我節省了大量的GUI工作! –

回答

18

的內存數據庫正確的URL是:

jdbc:h2:mem:name-of-your-play-db 
+0

網址記錄在日誌信息中,你可以從那裏抓取它。 –

0

最可能的問題是數據庫URL,因此您的應用程序和H2控制檯正在使用不同的數據庫。我建議使用形式爲jdbc:h2:~/data/test或(甚至更好)的形式的數據庫URL,使用形式爲jdbc:h2:/data/test的絕對路徑,或者甚至在驅動器號爲jdbc:h2:c:/data/test的情況下使用Windows。請參閱有關where the database files are stored的文檔。

+0

是僅用於文件系統方法嗎?如果我打算做文件系統,那麼我也可以使用postgres ....但是我很想連接到內存中,因爲它很快(沒有磁盤I/O)。 –

+0

沒關係,不知道localhost:9000/@ db是一個你可以使用的url,實際上可以工作!並點擊連接按鈕。當然,我有一個內部錯誤,因爲我有H2控制檯運行....不能這樣做,出於某種原因。 –

+0

我沒有完全理解你寫的東西......但請記住,當使用'jdbc:h2:tcp:// localhost:9000/@ db'時,它與服務器的當前工作目錄相關。絕對目錄應該是'jdbc:h2:tcp:// localhost:9000 // data/test'(在9000之後有兩個斜槓)。 –

10

步驟我把獲得的文件系統H2數據庫控制檯的工作在我的應用程序是在c:\play\myapp

  1. 進入到localhost:9000/@db
  2. 在第一個框中選擇通用H2服務器選項
  3. 對於url輸入jdbc:h2:file:c:/play/myapp/db/h2/play
  4. 用戶名是一個sa密碼是空的
+0

是的,不要做我所做的事情,並在步驟3中將.h2擴展名添加到播放文件名中! –

相關問題