JRuby on RailsでDerbyを使うために一番簡単な環境構築の方法
以前、JRuby on RailsでDerbyを使うにはderby.jarを取ってくる必要があるとここらへんの記事を参考にしてUbuntuでderby.jarを簡単に取得する記事を書いたのですが、どうもこれをみると、その必要がないようです。。ちょっと試してみます。
gemでactiverecord-jdbcderby-adapterをインストールします。
$ sudo $JRUBY_HOME/bin/jruby -S gem install activerecord-jdbcderby-adapter Successfully installed activerecord-jdbc-adapter-0.9 Successfully installed activerecord-jdbcderby-adapter-0.9 2 gems installed Installing ri documentation for activerecord-jdbc-adapter-0.9... Installing ri documentation for activerecord-jdbcderby-adapter-0.9... Installing RDoc documentation for activerecord-jdbc-adapter-0.9... Installing RDoc documentation for activerecord-jdbcderby-adapter-0.9...
activerecord-jdbc-adapterも依存でインストールされます。
railsコマンドで適当に作ったプロジェクトで、config/database.ymlを以下のように修正します。
development: adapter: jdbcderby hostname: localhost database: db/development
DBを作成してみます。
$ jruby -S rake db:create (in /home/fujibee/work/derby-test)
なんか拍子抜けですが、db/developmentをみると、ちゃんと出来てます!
$ ls -F db/development/ dbex.lck db.lck log/ seg0/ service.properties tmp/
実際にrailsアプリとしてもちゃんと動作しました。
では、どこにderby.jarがあるんでしょう??
探してみると、ローカルのgemリポジトリにしっかりありました。
$ ls -F $JRUBY_HOME/lib/ruby/gems/1.8/gems/jdbc-derby-10.3.2.1/lib derby-10.3.2.1.jar jdbc/
タイムスタンプを見ると、先ほどのactiverecord-jdbcderby-adapterといっしょにインストールされたようです。
つまり、JRuby on RailsでDerbyを使いたければ、
「activerecord-jdbcderby-adapterをgemでインストール」
のみでOK、ということがわかりました。
これは、ちょっとしたJRuby(on Rails)のデモ作成などに、すごく便利だと思います。
今回は以下のサイトを参考にしました。ありがとうございます。