CDBI to DBIC
CDBI to DBIC
YAPCのCDBI to DBICで「メソッドはコピペすればだいたい動くよ」と言ってた記憶があったんだけど、やってみたら動かない。
なんでー? とか思って読み直すと、コピペでだいたい動く(はず)なのはInstanceメソッドだけなのね。
Classメソッドをたくさん書いていたりする時は――search関係とか集約関数とか、手元のにはいろいろあるのですよ――DBIC::ResultSetのサブクラスを作って、Schemaのほうでは__PACKAGE__->resultset_class()を設定してあげる必要があるみたい。
CDBIではInstanceメソッドもClassメソッドもごっちゃになってやだなーと思っていたんで、DBICみたいな感じのほうがすっきりしていいです。が、移行するときはそのへんが大変っぽい気がしないでもない。