Why I use DBIx::Skinny instead of DBIx::Class.
最近DBIx::Skinnyをプライベートでは利用しているのだが、その理由。主にDBICのここが嫌だ、的だが。
DBIC が 'me' とか名前つけるのが嫌だ。
うん。嫌だよね。
生成される SQL が無駄にながい
デフォルトのリザルトセットに criteria あたえられるやつがぶっこわれてる
名前もわすれたけど、あれ、join とかするとまともにうごかない。
コードが大仰
読む気がしない。
重くなさそうなメソッドが実は重い
"->pager" が count 文を勝手に発行しているというのが一番有名な例。
relation はってる場合とかは得にそうなんだけど、内部の実装を意識しないと、つかいものにならないというのはしんどい。
DBICのイテレータをTTにわたしたりとかしたいわけだけど、そういうことすると、デザイナーが勝手に relation の先をよんでたりして、SQL の発行回数がひどいことになったりとかする。
(DBIC のイテレータとかわたすなよ、という話はあるけど)
個人的には、「SQLを発行するメソッドは、SQLを発行しそうな名前であるべき」だとおもう。
Published: 2010-03-17(Wed) 00:17