Documentation

You are viewing the documentation for the 2.1.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は、uuid() 関数を持ちません。代わりに random_uuid() を使用することができます。または 1.sql ファイルに次の行を挿入します。
    CREATE ALIAS UUID FOR 
    "org.h2.value.ValueUuid.getNewRandom";
  • MySQL ではテキスト比較は、デフォルトでは大文字と小文字を区別しませんが、 H2 では (他のほとんどのデータベースと同様に)、大文字と小文字を区別します。H2 は大文字と小文字を区別しないテキスト比較をサポートしていますが、SET IGNORECASE TRUE を使用して、個別に設定する必要があります。これは、REGEXP、LIKE、= を使った比較に影響を与えます。
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 チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。