On 21/01/2010, at 12:46, konstan...@tokar.ru wrote:
> Hi, All!
> 
> How to use the schema description generated Schema::Loader, for the scheme 
> necessary to me?
> For example, there is class DBIC::EMULATOR::Cruise, I write for the current 
> scheme
> 
> use DBIC::EMULATOR;
> my $schema = DBIC::EMULATOR->connect(...);
> my $record = $schema->resultset('ship')->search()->first ();
> 
> But if I need to address to tables of other scheme, for example EMULATOR2, 
> EMULATOR3, how it to make? 
> Something like 
> 
> my $record = $schema->resultset(EMULATOR2.ship')->search ()->first();
> my $record = $schema->resultset(EMULATOR3.ship')->search ()->first();


You can create separate namespace for each *db schema* you have under your 
*DBIC schema* one, then
you use the qualified table name when you set up the result class:

if your DBIC schema is DBIC::EMULATOR,

<code>
package DBIC::EMULATOR::EMULATOR1::ship;

use parent 'DBIx::Class::Core';

__PACKAGE__->table('EMULATOR1.ship');
[...]

package DBIC::EMULATOR::EMULATOR2::ship;

use parent 'DBIx::Class::Core';

__PACKAGE__->table('EMULATOR2.ship');
[...]

</code>

thus, when you need to get the resultset for this result class you do:

my $emulator1_ship_rs = $schema->resultset('EMULATOR1::ship');
my $emulator2_ship_rs = $schema->resultset('EMULATOR2::ship');

--
   wallace reis/wreis         Catalyst and DBIx::Class consultancy with a clue
   Software Engineer          and a commit bit: http://shadowcat.co.uk/catalyst/
Shadowcat Systems Limited
http://www.shadowcat.co.uk     http://www.linkedin.com/in/wallacereis
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk

Reply via email to