Ruby on Rails+OracleでMigrationを行うためのセットアップ手順
RailsからOracleにつなぐときのメモ。
情報が少ないこともあって、意外と大変だった。
※2009/2/27 Linux用の記述追記等、いろいろ修正
環境
- DB:Oracle10g Release2 Express Edition
- サーバOS:CentOS5.2 ※仮想環境上に構築(192.168.0.11)
- クライアントOS:WindowsXP SP3 or CentOS5.2
手順
Oracleクライアントモジュール
注意点:DBサーバをWindows上に構築した場合は、サーバとともにクライアントもインストールされるため本設定は必要ない。
※Windows用や、Linux用、Mac用と各種インストーラを発見。
特にMac、Linuxではこちらを利用した方が吉。
1.OCNサイトからInstantClientPackageのBasicとSDKをダウンロード(OCNにユーザ登録する必要有り)
2.両方を解凍して任意のフォルダに配置
変数名 | パス | |
ORACLE_HOME | C:\oracle\instantclient_10_2 | |
PATH | C:\...;%ORACLE_HOME% | ※最後にORACLE_HOMEを追記 |
●Linux設定例
.bash_profileなどに以下を追記
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client export PATH=${ORACLE_HOME}/bin:${PATH} export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
4.環境変数適用
各種アダプタ設定
1.Ruby-OCI8インストール
※デフォルトではunstableの2.0系がインストールされてしまうため、安定版1.0系の指定が必須!
gem install ruby-oci8 -v=1.0.4
2.Oracleアダプタインストール
※2009/3/18 OracleEnhancedAdapterを使う方が良い。旧アダプタのメンテナもEnhancedに移った模様。
gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org
gem install activerecord-oracle_enhanced-adapter
Rails設定
database.ymlを以下のように設定。
development: adapter: oracle_enhanced database: 192.168.0.11/xe ← IPアドレス+Oracleインスタンス名 username: oracle password: oracle
これで無事Migrationが通った。