JRuby on RailsでSQLite3を使うための覚え書き
JRubyで Ruby on Rails を使うこと自体はそんなに難しくない。でも、Mac OS Xに付いてるSQLite3をデータベースに使う設定が色々面倒で、Web上の情報も少なかったので、覚え書き。
動作環境
- Mac OS X 10.6.5
- JRuby 1.5.5 (ruby 1.8.7相当)
- Ruby on Rails 3.0.3
SQLite3を使う手順
1. JRubyをインストール
ここを参考にインストール。
http://kenai.com/projects/jruby/pages/GettingStarted
2. Railsと必要なモジュールをインストール
下記のコマンドを実行。
sudo jruby -S gem install rails activerecord-jdbcsqlite3-adapter
SQLite3を使うのに activerecord-jdbcsqlite3-adapter が必要。関連モジュールは gem が自動でインストールしてくれる。
3. Rails を動かす
3.1 アプリケーション作成
ここの簡易ブログアプリを途中まで作ってみる。
Getting Started with Rails — Ruby on Rails Guides
jruby -S rails new blog cd blog
3.2 設定ファイル変更
SQLite3を使うために、設定ファイルを変更。
下記を参考に、試行錯誤した。
http://jruby-extras.rubyforge.org/activerecord-jdbc-adapter/
Gemfile の変更
gem 'sqlite3-ruby', :require => 'sqlite3'
上記の記述を、下記に変更。
if defined?(JRUBY_VERSION) gem 'activerecord-jdbcsqlite3-adapter' else gem 'sqlite3-ruby', :require => 'sqlite3' end
config/database.yml の変更
development: adapter: sqlite3
アダプターの指定を、下記に変更。
development: adapter: jdbcsqlite3
3.3 Scaffold
あとは、普通にRailsで開発。
jruby -S rails generate scaffold Post name:string title:string content:text jruby -S rake db:migrate