Mirageにデータベースのスキーマを自動的にアップデートする機能を追加しています。自動と言ってもRailsのマイグレーションのように高機能なものではなく、差分のSQLをwar内に組み込んでおき、デプロイするとコンテキストの起動時に差分のSQLを自動的に流してくれるというものです。
web.xmlには以下のような感じでリスナを設定しておきます。
<listener> <listener-class>jp.sf.amateras.mirage.updater.SchemaUpdateListener</listener-class> </listener>
差分SQLは以下のような感じで用意しておきます。ファイル名にはDialect名を小文字にしたものと、バージョン番号を含めます。バージョン番号は1からの連番である必要があります。ちなみにDialect名に一致するSQLファイルが見つからない場合、1.sqlのようにバージョン名のみのSQLファイルがあればそちらを使用します。
/META-INF mysql_1.sql mysql_2.sql mysql_3.sql
Mirageはスキーマの自動更新機能を使用すると自動的にSCHEMA_VERSIONというテーブルを作成し、そこに現時点のスキーマのバージョンを管理します。warを更新してコンテキストを再起動すると現在のバージョンとSQLファイルのバージョンをチェックし、差分のSQLファイルのみを実行します。
warファイルで配布している簡単なWebアプリケーションでデータベーススキーマの更新の手間を減らすために使えるのではないかと思います。