[Scala]Play! Framework2で、Ruby on Railsのmigrationのような事

2012年5月7日

Ruby on Railsは、フルスタックで、テーブルのスキーマもリビジョン管理が出来るフレームワークですが、Play! Frameworkもそれに近い事が可能となっています。

Ruby on Railsで言うマイグレーションファイルは、Play! Frameworkでは

conf/evolutionsディレクトリになります。

このディレクトリに1.sqlという感じに、連番でsqlファイルを作成すると
その順番で実行時にスキーマの更新が行われます。

では、この1.sqlのファイルの中身はというと

# users schema

# --- !Ups

CREATE TABLE users (
  `name` VARCHAR(128) NOT NULL ,
  `name_kana` VARCHAR(128) NULL ,
PRIMARY KEY (`name`) );

# --- !Downs

DROP TABLE users;

という感じになります。

この中でキーになるのが

!Ups

!Downs

です。

!Upsの下に書いたSQLが、1.sqlのスキーマ更新処理

!Downsの下に書いたSQLが、1.sqlの更新を取り消す時の処理になります。

!Downsに書いた処理を実行する方法ですが

これは調査中です。。

Play! Framework 2に、なぜか、evolutionsコマンドが無くなっているので…。。

アンケート