- 追加された行はこの色です。
- 削除された行はこの色です。
* DBIx::Skinny スキーマクラス [#daf389e2]
* スキーマの設定方法(基本)[#daf389e2]
** MyDBクラスを作る [#mb5c20a1]
*** MyDB.pm [#z40bf239]
DB接続情報を書く。
package MyDB;
use DBIx::Skinny setup =>
{ dsn => 'dbi:Pg:dbname=test_db;host=localhost', username => 'scott', password => '' };
{ dsn => 'dbi:Pg:dbname=mydb;host=localhost', username => 'postgres', password => '' };
1;
*** MyDB/Schema.pm [#k188c11f]
スキーマを書く。
package MyDB::Schema;
use DBIx::Skinny::Schema;
install_table users => schema {
pk 'id';
columns qw/id name birth_on group_id/;
pk 'user_id';
columns qw/user_id name age sex/;
};
install_table groups => schema {
pk 'id';
columns qw/id name/;
pk 'group_id';
columns qw/group_id group_name/;
};
1;
** MyDBを使ってみる [#q3710b86]
#!/usr/bin/env perl
use strict;
use warnings;
use MyDB;
my $db = MyDB->new;
my $row = $db->search('users', {name => 'taro'})->next;
MyDB.pmにsetupで接続情報を書かなかった場合、MyDB->new()で接続情報を書いても良い。
my $db = MyDB->new({ dsn => 'dbi:Pg:dbname=mydb;host=localhost', username => 'postgres', password => '' });