読者です 読者をやめる 読者になる 読者になる

はちゅにっき

こっちのブログはまったり更新

Simple OR Mapper DBIx::Skinny

なんてゆーか PHP に移植してみたい。
むりそうだけど。
PHP って、これ!っていった ORM が本当にない。。。よね?

DBIx::Class

  • DBIC 重い
  • DBICSQL って微妙
  • DBIC パフォーマンスを考慮した SQL を投げてくれるわけじゃない

複雑な Perl のデータ構造から複雑なSQL が発行できる。
確かに利点ではあるが、それがいいこととは限らない。パフォーマンスがでないことが多く、結果として直接 DBI を叩くことになったりすることも多い。

重い

とにかく重い。1つのオブジェクトが大量のオブジェクトでできている。
オブジェクトの生成コストが大きい。

デバッグしにくい

print Dumper すると本当にありがとうございました。

DBIC のいいとこ

  • 慣れれば開発効率はかなり高い
  • インクリメンタルな search が便利
  • 機能が豊富
  • メンテナがすばらしい人たちばっかり
    • 逆に開発スピード高すぎておいてかれることも

Skinny の動機

生のSQLをいい感じに発行してくれるのがなかった。
軽量でいい感じの ORM が欲しい。
CRUD の Rについてはプログラマブルに処理もしたい。
たとえば、検索結果をルールベースでオブジェクトにマッピングするとか。
デバッグしやすいのがいいなぁ。

ルールベース

特定のカラムについて UTF-8 の処理をする。Inflate の処理をする、
そいうったことを設定したルールで行なっていく。

そのた

DBIx::Skinny::Mannual に日本語ドキュメントがあるよ。
がんばってかいているよ。
リレーションシップはサポート?
リレーションシップなんていらないよね。
サポートできるのは今のところ SQLiteMySQL だけ。