Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Is DBIx::Class borked or is it me?

by blue_cowdawg (Monsignor)
on Jan 03, 2013 at 15:44 UTC ( #1011475=perlquestion: print w/ replies, xml ) Need Help??
blue_cowdawg has asked for the wisdom of the Perl Monks concerning the following question:

Since things are kinda slow here at work I decided to play around with a new (for me) CPAN module DBIx::Class. In doing so I created a fairly simple/stupid application just to exercise the parts. Here is the main program:

#!/usr/bin/perl -w use strict; use lib qq@/home/pberghold/tmp/foo@; use Traveller::DB::Schema; use Data::Dumper; my $schema = Traveller::DB::Schema->connect('DBI:mysql:database=dbixte +st', 'dbixtest','tsetxibd'); my $new_sector = $schema -> resultset('sector')->new({name=>'foregone' +}); $new_sector->insert();
(password above is not real!) and here is the schema module under ./Traveller/DB:
package Traveller::DB::Schema; use base qw/ DBIx::Class::Schema/; __PACKAGE__-> load_namespaces(); 1;
and lastly here is the result class:
package Traveller::DB::Result::Sector; use base qw/ DBIx::Class::Core /; __PACKAGE__ -> table('sector'); __PACKAGE__ -> add_columns(qw/ sector_id name / ); __PACKAGE__ -> set_primary_key('sector_id'); 1;
You might even notice that this follows the DBIx::Class documentation (tutorial?) pretty closely where only the names for things have been changed.

When I run the simple/stupid main program I get:

$ ./traveller.pl DBIx::Class::Schema::resultset(): Can't find source for sector at ./tr +aveller.pl line 11
I even tried using 'Sector' as the resultset name. Am I confused? It's always possible...

UPDATE: This is running under "perl 5, version 14, subversion 2 (v5.14.2) built for cygwin-thread-multi-64int"


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Comment on Is DBIx::Class borked or is it me?
Select or Download Code
Re: Is DBIx::Class borked or is it me?
by moritz (Cardinal) on Jan 03, 2013 at 16:08 UTC

    Since your schema class is Traveller::DB::Schema, a $schema->resulset('sector') looks for a class named Traveller::DB::Schema::Result::sector.

    In your case I'd put the schema into Travel::DB, and the result in Travel::DB::Result::Sector, and then call $schema->resultset('Sector').

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1011475]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2015-07-03 15:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (53 votes), past polls