http://qs321.pair.com?node_id=892224


in reply to Re: Even though there are two separate database handles error shows need two separate database handles to compare
in thread Even though there are two separate database handles error shows need two separate database handles to compare

I like to look at database issues but I've never used this module. It looks pretty awesome. So as curious as I was I decided to try it. In order to replicate the issue I made a little sample script. When I tried to use:

$oDB_Comparison->deep_compare(@aTable_Names);

I get several errors that are very familiar to me from some work with DBIx::Class. You need to have tables defined a certain way in DBIx::Class for the deep->compare to work (or so it seems to me). But you can use the basic compare without seeing the errors:

$oDB_Comparison->compare(@tables);

Also, unless I have this line in my code:

$oDB_Comparison->verbose;

no results print, so you want to add that in I think. You need to check your definition of $dbh1 and $dbh2 like mje said.

my $dbh1 = DBI->connect('DBI:DATABASE_TYPE:DATABASE_NAME:DATABASE_SERV +ER','USERNAME','PASSWORD') || die "Error Connecting to \$dbh1: ".$DBI +::errstr."\n";

Also see DBIx::Class

#!/usr/bin/perl use strict; use warnings; use DBI; use DBIx::Compare; my $dbh1 = #SEE sample connect line above my $dbh2 = #SEE sample connect line above my $oDB_Comparison = db_comparison->new($dbh1, $dbh2); my @tables = ('Table1', 'Table2); $oDB_Comparison->verbose; $oDB_Comparison->compare(@tables);