--- pgdiff 2003/08/15 22:51:56 1.8 +++ pgdiff 2003/10/28 18:56:54 1.11 @@ -43,7 +43,7 @@ --slavehost=hostname --slaveport=port --slaveuser=username --slavepassword=string --slavefile=filename - --tables[s]=table[,table...] + --table[s]=table[,table...] "; # exit ((scalar(@ARGV) < 2)? 1:0); exit; @@ -132,7 +132,7 @@ print "begin work;\n"; # disable active triggers on slave database -my @triggers = $sscheme->get_triggers(); +my @triggers = $sscheme->get_activetriggers(); foreach my $tr (@triggers) { print "update pg_trigger set tgenabled = false where tgname='$tr';\n"; @@ -145,7 +145,22 @@ my $sth; +print "-- schema...\n"; # diff schema + foreach my $row (@{$mscheme->pg_attribute($table)}) { +# print Dumper($row); + } + +print "-- constraints...\n"; + # diff constraints + foreach my $tr (@{$mscheme->triggers($table)}) { +# print Dumper($tr); + } +print "-- triggers...\n"; + # diff triggers + foreach my $tr (@{$mscheme->triggers($table)}) { +# print Dumper($tr); + } # all colums (for insert) my @cols = @{$mscheme->cols($table)}; @@ -166,7 +181,7 @@ my @cols_test; # all colums to test (without skipped) foreach my $row (@{$mscheme->pg_attribute($table)}) { - # attname | format_type | attnotnull | atthasdef | attnum + # attname format_type attnotnull atthasdef attnum default references # FIXME: do something with attributes which shouldn't be compared # (date, time, datetime, timestamp) @@ -230,11 +245,11 @@ debug_sql($msql); - my $msth = $mdbh->prepare($msql) || die; - $msth->execute() || die; + my $msth = $mdbh->prepare($msql) || die $mdbh->errstr; + $msth->execute() || die $msth->errstr; - my $ssth = $sdbh->prepare($ssql) || die; - $ssth->execute() || die; + my $ssth = $sdbh->prepare($ssql) || die $sdbh->errstr; + $ssth->execute() || die $ssth->errstr; my $diff_row = 0;