2013-03-03 71 views
3

到目前爲止,我一直在用內存數據庫中的H2來使用play framework的默認SQL代。有沒有其他數據庫與這些SQL腳本完全兼容? 我喜歡SQL的自動生成,因爲我仍處於開發階段,但我想使用一個持久數據庫。我有什麼選擇?玩框架H2 db演變與sqlite/mysql兼容?

我簡要地試圖與sqlite的,但也有一些不兼容,如AUTOINCREMENT,約束等

回答

2

有兩個很好的選項,並選擇屬於你:

  1. 最好的發展選擇同一DB引擎,你想在生產中使用,MySQL或Postgres是非常典型的選擇,因爲它們在很多環境中都可用並且是開源的。遊戲將爲他們兩人生成正確的DDL。您也可以...
  2. 使用存儲在文件中的H2而不是內存,並使用TCP訪問它,在這種情況下,它將持續存在,並且您將可以使用H2控制檯訪問數據庫。在這種情況下

樣品連接網址是:(其中~是你的主目錄,所以它會保存MainDB.h2.db文件有

db.default.url="jdbc:h2:tcp://localhost/~/MainDB" 

您需要download H2 package您的平臺並運行它如the doc中所述的server mode。您會在bin目錄中找到scripts/batch files,或者您可以使用命令行執行此操作。

它還包含java包裝器,因此您可以在Windows中運行H2服務器作爲服務,以確保它始終在啓動時啓動。

最後在成功開發階段之後,您可以將DB文件複製到目標機器並在生產中使用它,如果您從TCP切換到Embedded模式,您將獲得着名的H2性能提升,並且還可以避免需要用於運行服務器。

+0

謝謝,我會試用MySQL – xdev 2013-03-03 17:45:04