我試圖在Play中訪問我的應用程序的表格!框架,但我無法使用控制檯找到它。例如,我有兩個實體模型:Address
和Campus
。使用H2控制檯訪問mem或fs數據庫表
我可以創建對象並正常保存,但我希望看到fs或mem DB中的更改,但H2控制檯不顯示錶Address
和Campus
。我正在使用默認設置登錄localhost:9000/@db
。
我在做什麼錯?
在此先感謝。
我試圖在Play中訪問我的應用程序的表格!框架,但我無法使用控制檯找到它。例如,我有兩個實體模型:Address
和Campus
。使用H2控制檯訪問mem或fs數據庫表
我可以創建對象並正常保存,但我希望看到fs或mem DB中的更改,但H2控制檯不顯示錶Address
和Campus
。我正在使用默認設置登錄localhost:9000/@db
。
我在做什麼錯?
在此先感謝。
的內存數據庫正確的URL是:
jdbc:h2:mem:name-of-your-play-db
網址記錄在日誌信息中,你可以從那裏抓取它。 –
最可能的問題是數據庫URL,因此您的應用程序和H2控制檯正在使用不同的數據庫。我建議使用形式爲jdbc:h2:~/data/test
或(甚至更好)的形式的數據庫URL,使用形式爲jdbc:h2:/data/test
的絕對路徑,或者甚至在驅動器號爲jdbc:h2:c:/data/test
的情況下使用Windows。請參閱有關where the database files are stored的文檔。
是僅用於文件系統方法嗎?如果我打算做文件系統,那麼我也可以使用postgres ....但是我很想連接到內存中,因爲它很快(沒有磁盤I/O)。 –
沒關係,不知道localhost:9000/@ db是一個你可以使用的url,實際上可以工作!並點擊連接按鈕。當然,我有一個內部錯誤,因爲我有H2控制檯運行....不能這樣做,出於某種原因。 –
我沒有完全理解你寫的東西......但請記住,當使用'jdbc:h2:tcp:// localhost:9000/@ db'時,它與服務器的當前工作目錄相關。絕對目錄應該是'jdbc:h2:tcp:// localhost:9000 // data/test'(在9000之後有兩個斜槓)。 –
步驟我把獲得的文件系統H2數據庫控制檯的工作在我的應用程序是在c:\play\myapp
:
jdbc:h2:file:c:/play/myapp/db/h2/play
是的,不要做我所做的事情,並在步驟3中將.h2擴展名添加到播放文件名中! –
到目前爲止我不知道這個遊戲框架......你的數據庫URL是什麼(如果這個框架中有數據庫的URL)? –
感謝你們,這是一款用於PlayFramework的H2 Gui,爲我節省了大量的GUI工作! –