3

これまで、メモリデータベースにH2を使用してPlayFrameworkのデフォルトのSQL生成を使用してきました。これらのSQLスクリプトと完全に互換性のある他のDBはありますか?私はまだ開発段階にあるのでSQLの自動生成が好きですが、永続データベースを一緒に使用したいと思います。私のオプションは何ですか?

sqliteを簡単に試してみましたが、AUTOINCREMENT、制約などの非互換性がいくつかあります。

4

1 に答える 1

2

2つの良いオプションがあり、選択はあなたに属します:

  1. 開発には、本番環境で使用すると思われるものと同じDBエンジンを選択することが望ましいです。多くの環境で利用可能であり、オープンソースであるため、MySQLまたはPostgresが非常に一般的な選択肢です。Playは、両方に対して正しいDDLを生成します。あなたもすることができます...
  2. メモリの代わりにファイルに保存されているH2を使用し、TCPを使用した例としてアクセスします。この場合、永続的になり、H2コンソールを使用してDBにアクセスできるようになります。

その場合の接続URLの例は次のとおりです:(ホームディレクトリはどこ~にあるので、MainDB.h2.dbそこにファイルが保存されます)

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

プラットフォーム用のH2パッケージをダウンロードして、ドキュメントのserver mode説明に従って実行する必要があります。ディレクトリに/がありますが、コマンドラインで実行することもできます。scriptsbatch filesbin

また、Javaラッパーが含まれているため、WindowsでH2サーバーをサービスとして実行して、常に起動時に起動するようにすることができます。

最後に、開発フェーズが成功した後、DBファイルをターゲットマシンにコピーして本番環境で使用できます。モードに切り替えると、TCP有名EmbeddedなH2パフォーマンスが向上し、サーバーを実行する必要がなくなります。

于 2013-03-03T16:57:05.317 に答える