diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/fix-sequences | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/bin/fix-sequences b/bin/fix-sequences index 55639d962..d5349ee74 100755 --- a/bin/fix-sequences +++ b/bin/fix-sequences @@ -42,16 +42,19 @@ foreach my $table ( @tables ) { my $seq = "${table}_${primary_key}_seq"; if ( driver_name eq 'Pg' && defined($col->default) - && $col->default =~ /^nextval\('"(\w+_seq)"'::text\)$/ + && $col->default =~ /^nextval\('"(public\.)?(\w+_seq)"'::text\)$/ ) { - $seq = $1; + $seq = $2; } warn "fixing sequence for $table\n"; - $dbh->do( "SELECT setval( '$seq', - ( SELECT max($primary_key) FROM $table ) );" ) - or die $dbh->errstr; + + my $sql = "SELECT setval( '$seq', + ( SELECT max($primary_key) FROM $table ) );" ); + + warn $col->default. " $seq\n$sql\n"; + $dbh->do( $sql ) or die $dbh->errstr; } |