第44回 uninitialized constant MysqlCompat::MysqlResでハマりまくった

uninitialized constant MysqlCompat::MysqlResでハマりまくったのでメモ

環境は以下の通り

leopardで、

# rails -v
Rails 1.2.6

とりあえずなんでrailsのバージョンこんな低いの?っていうのは置いておいて、とりあえずこのバージョン。


で、 rake db:migrate  すると、件のようなエラーがでた。

snow leopardではこのエラーが出ている人が多く、

$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

で解決するみたいなんだけど、そもそもsnow leopardでなくてleopardだし.....って感じ。


そこで、そもそも単なるRubyでDB接続できるのかしらと、

require "mysql"

を使って、単純なソースを書いてみるとエラーが!
つまりこれ単に、MySQLのドライバー的なやつが入ってないだけじゃないの?
と思い、

Ruby/MySQL - Ruby
Ruby/MySQL
を参考に、ruby-mysql-0.2.6.tar.gzを入れたら、
rake db:migrate もうまくいった!!!!!


あとmy.cnfでutf8を設定したりもしたけど、たぶんrequire "mysql"できなかったのが原因と思われる。