Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome or Safari browser. Firefox 10 (to be released soon) will also handle it.
There are too many DBIx::*
やあ (´・ω・`)
ようこそ、バーボンハウスへ。
このテキーラはサービスだから、まず飲んで落ち着いて欲しい。
うん、「また」なんだ。済まない。
じゃあ、注文を聞こうか。
SYNOPSIS
$f = DBIx::RecordFactory->new(teng => $teng);
DBIx::RecordFactory::RuleSet::ActiveRecord->apply(factory => $f);
my $photo = $f->build("photo");
$photo = $f->insert("photo", album_type => MEMBER_ONLY);
# => {
# id => 1,
# character_id => 1,
# album_type => MEMBER_ONLY,
# title_id => 1,
# }
#
お手軽に関連データを作りたい
- fixtureつくるのしんどい
- rubyのFactoryGirlっぽいやつ
- Tengのschemaからルールを自動生成
- int型のカラムならランダムな数字
- varchar型のカラムならランダムな文字列
- primary keyはsequenceになる
- {$table}_idだったら、関連テーブルにデータを作成
Why Teng?
- Tengつかってないプロジェクトでも比較的導入がしやすそう
- 最初DBIx::Inspectorでやろうとしてたけど、テーブル数が増えてくると重くなりがち
- 自動ルール生成は、とりあえずmysqlのみで動作確認している。
- SQLiteで動かないのは確認している。
レールの上に乗れないときは
$f->redefine(character => {
name => sub { $_[0]->choice(
map { Encode::utf_utf8($_->name) } Acme::PrettyCure->girls('AllStar')
) },
},
table => 'character_master',
);
# $_[0] is a DBIx::RecordFactory.
Thanks
- https://github.com/walf443/p5-dbix-record_factory
- まだまだアルファクオリティ
- pixivでperl/ruby/php書いてます
- cure/worldcosplayというサイトがperlで動いています
- エンジニアを募集しています。