- twitter: @RENDAAAAAA
- 職: SE
- ニコニコ: 中毒
- O/R Mapperということで
- Tengを使ってみました
- cpan install Teng
- テストでこける(windows7, Strawberry Perl v5.14.2)
- やったこと
- CPANTesters みてみる
- http://matrix.cpantesters.org/?dist=Teng+0.15
- いまみると FAIL ついてますね
- Casualなユーザでもできることってなんだろ?
- CPANTesters みてみる
- 現実逃避中
- DiabloIII Inferno Act4 クリア!
- いまごろパッチ 1.0.5 がでてるよ!
-
再度チャレンジ
-
force install してみる
- cpanm -f Teng
-
Perl AdventCalendar 2011 を流し読み
- http://perl-users.jp/articles/advent-calendar/2011/teng/
- CRUD をひととおりやってみよう
- C(Create)
- C(Create)
- の前にテーブルをつくっとかないと
- create table user (id, name);
- テーブル情報は読み込める
my $teng = Teng::Schema::Loader->load(
connect_info => ['dbi:SQLite:./sample.db'],
namespace => 'Proj::DB'
);
- C(Create)
$teng->insert('user', +{id => 1, name => 'user no01'});
- R(Read)
my $row = $teng->single('user', +{id => '1'});
say "id: ", $row->id;
say "name: ", $row->name;
- ここまではよかった
- U(Update)
$row = $teng->single('user', +{id => '2'});
$row->update(+{name => 'user noX'});
sqliteで確認すると...レコードがない?
- D(Delete)
$row = $teng->single('user', +{id => '3'});
$row->delete();
- sqliteで確認すると...関係ないのも消えてる?
- 数十行でデータベースからデータをとってこれるのはかんたん
- くじけないこころ
#!perl
use strict;
use warnings;
use Teng::Schema::Loader;
use feature 'say';
my $teng = Teng::Schema::Loader->load(
connect_info => ['dbi:SQLite:./sample.db'],
namespace => 'Proj::DB'
);
$teng->delete('user');
$teng->insert('user', +{id => 1, name => 'user no01'});
$teng->insert('user', +{id => 2, name => 'user no02'});
$teng->insert('user', +{id => 3, name => 'user no03'});
$teng->insert('user', +{id => 4, name => 'user no04'});
$teng->insert('user', +{id => 5, name => 'user no05'});
my $row = $teng->single('user', +{id => '1'});
say "id: ", $row->id;
say "name: ", $row->name;
#$row = $teng->single('user', +{id => '2'});
#$row->update(+{name => 'user noX'});
#
#$row = $teng->single('user', +{id => '3'});
#$row->delete();
my $itr = $teng->search('user', +{order_by => 'id'});
while (my $row2 = $itr->next) {
say "id: ", $row2->id;
say "name: ", $row2->name;
}
- ご清聴ありがとうございました!