Nasuta<http://www.nasuta.jp/>

2007年05月04日

Jruby On Rails + Derby(組み込み編)

以前にderbyをスタンドアローンで起動させてJrubyOnRailsから呼び出してみましたが、今回は組み込みモードに挑戦です。

いままでnasutaはsqlite3 を使っていましたので同じ組み込みモードで使えると何かとうれしいので。ということでsqlite3にあったスキーマをDerby(組み込みモード)へ移行してみました。


derby.jarをコピー
組み込みモードで使う場合はderbyのJDBCドライバではなくDerbyDBそのものが必要になります。(当たり前ですが)よって、jrubyのインストールディレクトリにある lib/ ディレクトリにderby.jarをコピーします。

config/database.yml
development:
adapter: jdbc
driver: org.apache.derby.jdbc.EmbeddedDriver
url: jdbc:derby:db/derby_dev;create=true


urlで 相対パスでderbyのデーターベースを記述していますが、この後rakeでスキーマを移動するときにアプリのホームにあるdb/ディレクトリにDerbyのデータベース derby_dev が作成されます。rake db:schema:load
sqlite3に構築していたDBをderbyに移行させます。migrationをつかってスキーマを定義していたので移行は簡単にできます。
% rake db:schema:load


derbyにはデータベース定義がないので rake db:migrate でも理論上は移行できるはずなのですが、alter によるテーブル変更でエラーになりました。
従って、 rake db:schema:load をつかってdb/schema.rb を流し込む方が確実です。


これでデータベースを移行できました。調子に乗ってnasutaをJruby on Railsで稼働させようと script/serverを実行しましたがSQLエラーやなんやかんやでちゃんと動きまへん。

なんやかんやは次回。
posted by ふんじ at 18:50| Comment(0) | TrackBack(0) | 開発記録 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。