DATA section中のSQLを名前でアクセスできるDBI::Simple::DataSectionを作ってみた
typesterさんのText::MicroTemplate::DataSectionでは、__DATA__セクション中のテンプレートに名前でアクセスできるのですが、これをSQLでもできたらquick hackがしやすくなるんじゃないかと思って作ってみました。
http://github.com/dann/p5-dbix-simple-datasection
使い方は、以下のような感じです。DBIx::Simpleの薄いラッパで、名前付きでSQLにアクセスできるようになってます。それ以外の部分のメソッドの使い方についての詳細は、DBIx::Simpleを参照してもらえれば!
use DBIx::Simple::DataSection; my $db = DBIx::Simple::DataSection->connect('dbi:SQLite:dbname=:memory:', '', '', { RaiseError => 1 }); $db->query_by_sql('create.sql'); $db->query_by_sql('insert.sql', qw(a b c)); $db->query_by_sql('select.sql')->flat; __DATA__ @@ create.sql CREATE TABLE xyzzy (FOO, bar, baz) @@ insert.sql INSERT INTO xyzzy (FOO, bar, baz) VALUES (?, ?, ?) @@ select.sql SELECT * FROM xyzzy ORDER BY foo