Documentation

You are viewing the documentation for the 2.3.x release series. The latest stable release series is 2.4.x.

§H2 データベース

H2 インメモリーデータベースは、Play が再起動した時に、evolution を 1 から実行できるため、 開発時に非常に便利です。 anorm を使用している場合は、計画している本番データベースに非常に似ている必要があります。
例えば、 application.conf ファイルでデータベース URL パラメータを追加することで、特定のデータベースを真似るように H2 に伝えることができます。

db.default.url="jdbc:h2:mem:play;MODE=MYSQL"

§対象となるデータベース

MySqlMODE=MYSQL
  • H2 does not have a uuid() function. You can use random_uuid() instead. Or insert the following line into your 1.sql file:
    CREATE ALIAS UUID FOR 
    "org.h2.value.ValueUuid.getNewRandom";
  • Text comparison in MySQL is case insensitive by default, while in H2 it is case sensitive (as in most other databases). H2 does support case insensitive text comparison, but it needs to be set separately, using SET IGNORECASE TRUE. This affects comparison using =, LIKE, REGEXP.
DB2 MODE=DB2
Derby MODE=DERBY
HSQLDB MODE=HSQLDB
MS SQL MODE=MSSQLServer
Oracle MODE=Oracle
PostgreSQL MODE=PostgreSQL

§インメモリ DB のリセットを防ぐ

H2 は接続が切れるとデータベースをドロップします。おそらくこうなることは望まないでしょう。このことを防ぐためには、 (区切り文字としてセミコロンを使用して)、 URL に DB_CLOSE_DELAY=-1 を追加してください。 例: jdbc:h2:mem:play;MODE=MYSQL;DB_CLOSE_DELAY=-1

§H2 ブラウザ

play コンソールで h2-browser とタイプすることで、データベースの内容を見ることができます。SQL ブラウザは web ブラウザで実行されます。

§H2 ドキュメント

より詳細な H2 のドキュメントは、 Web サイト から入手できます。


このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。