ログ日記

作業ログと日記とメモ

O/RマッパーでのSQL文

自作O/RマッパーでSQLを実行できるようにしたんだけど、どうも使い勝手が悪い。
他のツールはどうなってるのか見ると・・


http://propel.phpdb.org/trac/wiki/Ja/Users/Documentation/1.3/BasicCRUD
これはSQL文をそのまま書く場合。


http://s2dao.php5.seasar.org/reference.html#SQLBind
こっちはコメントで動的変数を指定する。


やはり埋め込みコメントでif文まで実装しないと便利に使えるレベルにならない。


自分の実装では%sで簡単な置換を行って対応していたんだけど、どうも面倒くさい。
元々ビューを作ればメソッドでwhere句やorder句を指定できるところまで作っていたのに、%sでの指定だと退化した気分だ。
しかし生のSQLを実行する場合は、そのSQL文にwhere句やorder句が含まれている可能性がある(というかデフォルトのものを含みたい)。なのでメソッドで指定がある場合だけ動的に書き換えは簡単には実装できない。




この辺りの不便さはどこから来るのか・・。
ビューを作る場合、開発用DBやテスト用DBそれぞれにビューを作らなければならない。それに対してファイルでのSQLは、バージョン管理ツールで更新を行うだけで利用できる。
つまり、バージョン管理ツールでの更新でビューの更新も反映できれば私の環境での不便さは無くなるのかも。


いや、でもそれは妥協だよな・・。
うーん。コメントでif文・・敷居が高い。
取り敢えずは手動でDB修正するかな。