読者です 読者をやめる 読者になる 読者になる

GAE/JでDBの初期化を行う方法

下記のファイルがDBのファイルになっている。

WEB-INF/appengine-generated/local_db.bin

初期化方法は単純にファイルを削除したあとに同じ名前で空のファイルを作成すればよい。
 
専用のantタスクを作っておくのがよいだろう。
 
もっと言うとGAE/JにはDDLを実行してDBのテーブルを作成する必要がなかったりするので
DBのmigrationはいらないと思いがちである。しかし、DBのmigrationはDDLだけと小さな定義を持ってしまうともったいない。
なぜなら、アプリケーションは初期稼働時に必ずと言っていいほど初期値を投入してあることがほとんどだ。
そのため、専用のantタスクにはlocal_db.binを再作成するだけでなく初期値のデータを投入する仕組みも欲しいところだ。
まだ私は作ってないけど・・。slim3でサポートされると地味にありがたい。
railsのmigration機能でDDLを実行できるのがいいと思ったが、実際に使ってみると初期データ投入用にruby構文での自由に処理を作れるところが私には魅力的だった。GAE/Jでも同様の仕組みを作成したい。