CDBI to DBIC

CDBI to DBIC

 YAPCのCDBI to DBICで「メソッドはコピペすればだいたい動くよ」と言ってた記憶があったんだけど、やってみたら動かない。

 なんでー? とか思って読み直すと、コピペでだいたい動く(はず)なのはInstanceメソッドだけなのね。

 Classメソッドをたくさん書いていたりする時は――search関係とか集約関数とか、手元のにはいろいろあるのですよ――DBIC::ResultSetのサブクラスを作って、Schemaのほうでは__PACKAGE__->resultset_class()を設定してあげる必要があるみたい。

 CDBIではInstanceメソッドもClassメソッドもごっちゃになってやだなーと思っていたんで、DBICみたいな感じのほうがすっきりしていいです。が、移行するときはそのへんが大変っぽい気がしないでもない。