> I usually do something like this:
>
> my $transaction=sub {
> # Manipulate database...
> die "dry run";
> };
> $schema->txn_do($transaction);
>
> Remembering to put the die in there is of course important :-)
>
>
> Best regards,
>
> Adam
>
A more automated way to do this would be to do what is done in the DBIC test suite:
use_ok('DBICTest');
use_ok('DBIC::DebugObj');
my $schema = DBICTest->init_schema();
$schema->storage->sql_maker->quote_char('`');
$schema->storage->sql_maker->name_sep('.');
my ($sql, @bind);
$schema->storage->debugobj(DBIC::DebugObj->new(\$sql, \@bind));
$schema->storage->debug(1);
my $rs;
$rs = $schema->resultset('CD')->search(
{ 'me.year' => 2001, '
artist.name' => 'Caterwauler McCrae' },
{ join => 'artist' });
eval { $rs->count };
is_same_sql_bind(
$sql, \@bind,
"SELECT COUNT( * ) FROM `cd` `me` JOIN `artist` `artist` ON ( `artist`.`artistid` = `me`.`artist` ) WHERE ( `artist`.`name` = ? AND `me`.`year` = ? )", ["'Caterwauler McCrae'", "'2001'"],
'got correct SQL for count query with quoting'
);
--
fREW Schmidt
http://blog.afoolishmanifesto.com
_______________________________________________
List:
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-classIRC: irc.perl.org#dbix-class
SVN:
http://dev.catalyst.perl.org/repos/bast/DBIx-Class/Searchable Archive:
http://www.grokbase.com/group/dbix-class@...