DBIx::Custom

MojoliciousでDBIx::CustomやDBIx::Connectorを使う時

すぐ忘れるし、どこにあったか分からなくなるのでメモ。 Mojolicious - GitHubより引用 package MyApp; use Mojo::Base 'Mojolicious'; use DBIx::Custom; has dbi => sub { my $dbi = DBIx::Custom->connect(...); return $dbi; }; sub startup { my $self = shift; ### YOU MUST NOT CALL dbi() method in starup(). } リンク先にはBad Exampleもあるので参考に。

DBIx::Customで where を設定する時の注意点

DBIx::Custom - search.cpan.org DBIx-Custom-0.1705 DBIx::Custom select メソッドの whereの項目を見ると様々な指定方法が出来ることが分かる。 注意する点はStringを渡す時。 where => "url = 'http://hoge.com/huga.cgi?key=value' ", 上のように条件に ? が含まれる場合、SQLの作成に失敗する。(DBIx::Custom::QueryBuilder::build_queryでかな?) ? がメタ文字として扱われるため?(\?とエスケープしてもダメ) Hashリフ […]

DBIx::Customでデータベースの関数(MySQLのADDDATE()とかSUBDATE()とか)を使う

DBIx::Customが生SQL感覚でも使えてお気に入りなのだけれど、ちょっこしハマったのでメモ。 DBIx::Custom - search.cpan.org MySQL(に限らないと思う)でwhereに関数を利用したい時は多々あると思います。 例えば、更新時刻を見て7日以上古ければ選択しないという条件をwhereに指定したい時、 CREATE TABLE `table` ( `name` VARCHAR( 5 ) , `update_time` TIMESTAMP ) SELECT * FROM `table` WHERE update_time > SUBDATE(NOW(), int […]