§H2 資料庫
注意:從 Play 2.6.x 開始,您實際上需要自行包含 H2 相依性。為此,您只需將下列內容新增至您的 build.sbt
libraryDependencies += "com.h2database" % "h2" % "1.4.192"
H2 記憶體中的資料庫非常適合開發,因為當 Play 重新啟動時,您的演化會從頭開始執行。如果您使用 Anorm,您可能需要它來緊密模擬您計畫中的生產資料庫。若要告訴 h2 您想要模擬特定資料庫,請在 application.conf 檔中將參數新增至資料庫網址,例如
db.default.url="jdbc:h2:mem:play;MODE=MYSQL"
§目標資料庫
MySql | MODE=MYSQL |
|
DB2 | MODE=DB2 | |
Derby | MODE=DERBY | |
HSQLDB | MODE=HSQLDB | |
MS SQL | MODE=MSSQLServer | |
Oracle | MODE=Oracle | |
PostgreSQL | MODE=PostgreSQL |
§防止記憶體中的資料庫重設
H2 預設會在沒有任何連線時刪除您的記憶體中的資料庫。您可能不希望發生這種情況。若要防止這種情況,請將 DB_CLOSE_DELAY=-1
新增到網址(使用分號作為分隔符號),例如:jdbc:h2:mem:play;MODE=MYSQL;DB_CLOSE_DELAY=-1
注意:Play 內建的 JDBC 模組會自動新增
DB_CLOSE_DELAY=-1
,但是如果您使用 play-slick 搭配演化,您需要手動將;DB_CLOSE_DELAY=-1
新增到您的資料庫網址,否則演化將會陷入無限迴圈,因為 Play 應用程式在執行演化後會重新啟動,因此套用的演化將會直接遺失。
§注意事項
H2 預設會建立名稱為大寫的表格。有時您不希望發生這種情況,例如在某些相容模式下使用 H2 搭配 Play 演化時。若要防止這種情況,請將 DATABASE_TO_UPPER=FALSE
新增到網址(使用分號作為分隔符號),例如:jdbc:h2:mem:play;MODE=PostgreSQL;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE
§H2 瀏覽器
您可以在 sbt shell 中輸入 h2-browser
來瀏覽資料庫內容。SQL 瀏覽器將在您的網路瀏覽器中執行。
§H2 文件
更多 H2 文件可從 其網站 取得。
下一頁:管理資料庫演進
在此文件中發現錯誤?此頁面的原始碼可在此處找到 here。在閱讀 文件指南 後,請隨時提交拉取請求。有問題或建議要分享嗎?請前往 我們的社群論壇 與社群展開對話。