[Scala]Play! Framework2で、Ruby on Railsのmigrationのような事
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コマンドが無くなっているので…。。