Hi Robert. Thanks for the response :) Comments inline. On Sun, 2010-05-23 at 07:50 -0500, Robert Wohlfarth wrote:
> On Sun, May 23, 2010 at 6:38 AM, Dan <[email protected]> > wrote: > __PACKAGE__->config( > schema_class => 'EasySaver', > > connect_info => { > dsn => 'dbi:mysql:dbname=EasySaver;host=archeopteryx', > user => 'username', > password => 'password', > AutoCommit => q{1}, > } > ); > > [snip...] > > Couldn't load class (EasySaver) because: Couldn't instantiate > component > "EasySaver::Model::ESDB", "Attribute (schema_class) does not > pass the > type constraint because: Validation failed for > 'Catalyst::Model::DBIC::Schema::Types::SchemaClass' failed > with value > EasySaver > at > /usr/lib/perl5/site_perl/5.10.1/i686-linux-thread-multi/Moose/Meta/Attribute.pm > line 746 > > You may want to try a different "schema_class". When you generated the > model, it should also have created a "Schema.pm" file. Put that > package name (not file name, the package name) in "schema_class". At > least, this is what worked in my setup. Interesting. I *didn't* get a Schema.pm file when I generated the model. I don't know what this file is for, but if it has info on the schema, then maybe this didn't get generated because the args I supplied to the create script weren't sufficient for connecting ( as per my original post ... no docs on accessing remote databases ). I tried regenerating ( without first deleting ) the model: d...@sabayon:~/src/EasySaver$ script/easysaver_create.pl model ESDB DBIC::Schema EasySaver dbi:mysql:EasySaver:archeopteryx 'username' 'password' '{ AutoCommit => 1 }' exists "/home/dan/src/EasySaver/script/../lib/EasySaver/Model" exists "/home/dan/src/EasySaver/script/../t" exists "/home/dan/src/EasySaver/script/../lib/EasySaver/Model/ESDB.pm" created "/home/dan/src/EasySaver/script/../lib/EasySaver/Model/ESDB.pm.new" exists "/home/dan/src/EasySaver/script/../t/model_ESDB.t" d...@sabayon:~/src/EasySaver$ So there's no attempt to create a Schema.pm file on this attempt either. > > I say that because of the error message. The first paragraph of output > contains the actual error message. The rest of that is a stack trace > that you don't need for this issue. > > Catalyst uses something called "Moose". Moose adds shortcuts for > quickly building object oriented packages. It's very cool stuff. Moose > offers limited type checking. Moose reported a mis-match in the type > it expected versus the type it received. > > "schema_class" eventually becomes an object attribute. Moose thinks > that "schema_class" should be set to an instance of type > "Catalyst::Model::DBIC::Schema::Types::SchemaClass". The "EasySchema" > from the configuration file is not from the Catalyst::Model::DBIC > hierarchy. > > -- > Robert Wohlfarth Thanks for the explanation. Dan _______________________________________________ List: [email protected] Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
