|
#!/usr/bin/perl
system ( "sh $Bin/init_db.sh" );
my $query = DBIx::MultiDB->new(
dsn => 'dbi:SQLite:dbname=/tmp/db1.db' ,
sql => 'SELECT id, name, company_id FROM employee' ,
);
$query ->left_join(
dsn => 'dbi:SQLite:dbname=/tmp/db2.db' ,
sql => 'SELECT id AS company_id, name AS company_name FROM company' ,
key => 'company_id' ,
referenced_by => 'company_id' ,
);
$query ->execute();
my @result ;
while ( my $r = $query ->fetchrow_hashref ) {
push @result , $r ;
}
my @expected_result = (
{
'company_id' => '1' ,
'company_name' => 'a' ,
'name' => 'a1' ,
'id' => '1'
},
{
'company_id' => '1' ,
'company_name' => 'a' ,
'name' => 'a2' ,
'id' => '2'
},
{
'company_id' => '2' ,
'company_name' => 'b' ,
'name' => 'b1' ,
'id' => '3'
},
{
'company_id' => '2' ,
'company_name' => 'b' ,
'name' => 'b2' ,
'id' => '4'
},
{
'company_id' => '3' ,
'company_name' => 'c' ,
'name' => 'c1' ,
'id' => '5'
},
{
'company_id' => '3' ,
'company_name' => 'c' ,
'name' => 'c2' ,
'id' => '6'
}
);
plan tests => 1;
cmp_deeply( \ @result , \ @expected_result )
or print Dumper \ @result ;
|