Revision 3 as of 2011-10-07 04:11:16

Clear message
Locked History Actions

Play/DB

DBアクセス

Playでは単一のデータベースの存在を前提としており、それに従うのであれば簡単にデータベースの変更を取り扱うことができる。 JPA経由でHibernateを使う方法や、複数のデータベースや、GAE等を利用することはここでは考えない。

エボリューションスクリプト

エボリューションスクリプトは、データベースの変更方法をsqlとして記述しておくことによりplayがその面倒を見てくれるというものである。

http://playdocja.appspot.com/documentation/1.2/evolutions

エボリューションスクリプトのディレクトリは「プロジェクトトップ/db/evolutions」となっているが、このディレクトリはデフォルトインストールでは作成されていないので、自分で作成する必要がある。

エボリューションスクリプトによらない方法

エボリューションスクリプトによる方法は大変便利ではあるが、実用的ではない。 開発過程におけるデータベース構造変更時はこれで十分だが、実運用後に変更する場合には、既にあるデータを別テーブルあるいは別データ形態に変換する必要が出てくる(例えば、複数のテーブルデータだったものをまとめて直列化データにしBLOBに入れるなど)。

この場合には当然SQLの記述では不十分である。どうしても自力でデータベース構造の変更とデータの処理を行う必要が出てくる。