ActiveRecordの怪
DBをOracleからMySQLに切り替えるためにDBを用意してdatabase.ymlを書き換えてみた。
Solaris環境でRailsは1.6でRuby1.8.5
OracleにつなぐためのRuby/OCI8はソースからコンパイル、RailsまわりはRubyGemで入れてある。
で、database.ymlを書きかえればうまくいくと思ってたが、こけた。
ActiveRecordに接続するかんたんなプログラムを書いて試してみる。
require 'rubygems' require 'active_record' class User < ActiveRecord::Base set_table_name "user" end ActiveRecord::Base.establish_connection( :adapter => "mysql", :database => "mysql", :host => "localhost", :username => "root", :password => "", :socket => "/tmp/mysql.sock" ) p User.find(:first).Host
が、これを実行するとRuby/OCIを使ってこの接続を確立しようとして失敗しているようだ。
なんでAdapterにmysqlって書いてあるのにoci8を使おうとするんだ???