ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

Ruby1.9でMySQL/Rubyが動かない(・・・今は)

Ruby逆引きハンドブック

Ruby逆引きハンドブック

引っ越して以降、この本を例のごとくAmazonで購入して読んでました


「逆引き」とは書いてありますが・・・

Rubyレシピブック 第2版 268の技

Rubyレシピブック 第2版 268の技

・・・この本のように、「できること」を列挙した本ではなく、
Rubyの言語仕様について満遍なく書かれた本であり、
それを「indexから逆引きできる」くらいの感じです


一番のおすすめポイントは、各項目について、
「1.8.6以前」「1.8.7」「1.9系」に分けて動作を解説していること
1.8から1.9への移行ポイントや、利点が明確にわかるのはGOOD(`・ω・´) b


さらに、ところどころに書かれたtipsが非常に有用で、
サンプルコードも実にRubyらしく、ある程度Rubyに慣れた人が読むことで、
かなりRubyっぽいコードが書けるようになるのではないかと


そんな感じで読むうちに、さっさと今のシステムを、
1.9対応にしてしまおうかと思ってしまったわけですが、
データベースの章を読んだところで断念しましたΣ(・ω・ノ)ノ


以前書いていたBlog(今もあるけど、いつ消すかわからないのでリンクしない)で、
Windowsの開発環境を1.9に移行しようとして失敗した話を書いたのですが、
その際に詰まったのが、「MySQL/Rubyがインストールできない」ということでした


その他の要因もあり、突き詰めた調査はしなかったのですが、
前述の本によれば、「Windows版のMySQL/Rubyは1.9で動かない」とのこと(´・ω・`)


じゃあLinuxなら動くのかというと、
MySQL/Rubyの側で1.9で追加されたencodeの概念に対応してないため、
文字列が全部encoding=ASCIIで戻ってきてしまうらしいのです(lll゚Д゚)


もちろん、受ける側でforce_encodingする手はあるにしても、
当然ながらこれはライブラリ側で対応すべき問題であり、
一時的にそれで対応したとしても、結局後で除去する作業が発生するわけです


個人が趣味で作っているならまだしも、
業務で使っているシステムでこれはありえないので、
MySQL/Rubyが1.9に対応するまで、1.9への移行は難しそうです


同様に、Rails2.3.2がいくら1.9対応したといっても、
Railsが使うMySQL/Rubyが1.9で使えない以上、
結果的にRailsもまだ1.9に移行できないってことでして


とはいえ、1.9の利点(特にgem周りとYARVi18n)は捨てがたく、
移行の準備だけはしておきたいので、
まずは1.8.7以上に移行して、1.9への準備をしておく感じですかね・・・