On Mar 17, 2007, at 11:48 AM, RA Jones wrote:
RA Jones wrote:
Trying various places to set debugobj so far has failed with error
messages, usually relating to storage. In reality I've no idea
where to start with this. The intuitive place to set the debugobj
is either MyApp/lib/Schema.pm or MyApp::Model::Schema.pm, but
neither seems to work. Presumably I shouldn't be doing this in the
MyApp/lib/Schema DBIC classes? A simple code example is really all
I need to get going.
I'm still getting nowhere with this, and also found a reference on
the internet to a similar problem with the Profiling section of the
DBIx::Class::Manual::Cookbook. The OP did not get a definitive
answer. Is it actually possible to set the debugobj, or is it urban
myth?
My attempts so far:
use My::MySQL::Profiler;
__PACKAGE__->storage()->debugobj(new My::MySQL::Profiler());
__PACKAGE__->storage()->debug(1);
If you haven't instantiated your schema, then storage doesn't contain
anything:
use MyDB::Schema;
my $schema = MyDB::Schema->connection( 'DBI:MySQL:dbname=foo' );
$schema->storage->debugobj( My::MySQL::Profiler->new() );
$schema->storage->debug( 1 );
# ... do other stuff ...
3) In root controller MyApp::Controller::Root:
Can't locate object method "storage" via package
"MyApp::Controller::Root" at /home/www/apps/MyApp/script/../lib/
MyApp/Controller/Root.pm line 16.
Compilation failed in require at (eval 171) line 3.
Compilation failed in require at script/myapp_server.pl line 53.
What am I doing wrong?
I haven't tried this, but if you are trying to do it in Catalyst,
your best bet is probably to inject it into the model...
package MyApp::Model::MyDB;
use strict;
use warnings;
use base 'Catalyst::Model::DBIC::Schema';
use NEXT;
__PACKAGE__->config( schema_class => 'MyDB::Schema' );
sub new {
my $self = shift->NEXT::new( @_ );
$self->storage->debugobj( My::MySQL::Profiler->new() );
$self->storage->debug( 1 );
return $self;
}
--
Jason Kohles
[EMAIL PROTECTED]
http://www.jasonkohles.com/
"A witty saying proves nothing." -- Voltaire
_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/