FreshConnectionをRails4.2に対応させました
FreshConnectionは、Railsで複数のスレーブDBを簡単に扱えるようになるgemです。
https://github.com/tsukasaoishi/fresh_connection
今回、バージョン0.3.0をリリースしました。このバージョンからRails4.2でも動くようになっています。
FreshConnectionは acts_as_readonlyable
(知らない人は古参のRailsエンジニアに聞いてみてください) と同じインターフェースを持たせています。これにより、レガシィなRailsアプリをバージョンアップするときでも、コードを一切変える必要がありません。
しかしそろそろその役目も終えているのでは、と考えています。もうacts_as_readonlyableを使っているRailsアプリなんてないですよね? ぼく個人的には、acts_as_readonlyableがマスターDBにアクセスするときに readonly(false)
を使うのがずっと気に入らないと思っていました。
そこで、今回の0.3.0からFreshConnectionはマスターDBにアクセスするための新しいインターフェースを用意することにしました。readonly(false)もまだ使えますが、今後は以下のように書くようにしてください。
Article.read_master.where(id: 1).first
マスターDBにアクセスしたいときには read_master
を使います。readonly(false)は次のバージョンでdeprecatedのwarningが出るようにする予定です。そしてその次のバージョン(たぶん1.0.0)ではreadonly(false)を使えなくするつもりです。今から少しずつ書き換えるか、synvertでも使いましょう。
FreshConnectionの0.3.0に対応したEbisuConnectionの0.2.0も同時にリリースしています。
https://github.com/tsukasaoishi/ebisu_connection
ちなみにFreshConnectionもEbisuConnectionもRuby2.0以上を対象にしています。
このブログもついでにRails4.2にアップデートしてRuby2.2.1で動かすようにしました。