diff options
Diffstat (limited to 'bin/fix-sequences')
| -rwxr-xr-x | bin/fix-sequences | 69 | 
1 files changed, 0 insertions, 69 deletions
| diff --git a/bin/fix-sequences b/bin/fix-sequences deleted file mode 100755 index 2ff89d3e5..000000000 --- a/bin/fix-sequences +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/perl -Tw - -# run dbdef-create first! - -use strict; -use DBI; -use DBIx::DBSchema 0.21; -use DBIx::DBSchema::Table; -use DBIx::DBSchema::Column; -use DBIx::DBSchema::ColGroup::Unique; -use DBIx::DBSchema::ColGroup::Index; -use FS::UID qw(adminsuidsetup driver_name); -use FS::Record qw(dbdef); - -my $user = shift or die &usage; -my $dbh = adminsuidsetup $user; - -my $schema = dbdef(); - -#false laziness w/fs-setup -my @tables = scalar(@ARGV) -               ? @ARGV -               : grep { ! /^h_/ } $schema->tables; -foreach my $table ( @tables ) { -  my $tableobj = $schema->table($table) -    or die "unknown table $table (did you run dbdef-create?)\n"; - -  my $primary_key = $tableobj->primary_key; -  next unless $primary_key; - -  my $col = $tableobj->column($primary_key); - - -  next unless uc($col->type) eq 'SERIAL' -              || ( driver_name eq 'Pg' -                     && defined($col->default) -                     && $col->default =~ /^nextval\(/i -                 ) -              || ( driver_name eq 'mysql' -                     && defined($col->local) -                     && $col->local =~ /AUTO_INCREMENT/i -                 ); - -  my $seq = "${table}_${primary_key}_seq"; -  if ( driver_name eq 'Pg' -       && defined($col->default)  -       && $col->default =~ /^nextval\('"(public\.)?(\w+_seq)"'::text\)$/ -     ) { -    $seq = $2; -  } - -  warn "fixing sequence for $table\n"; - - -  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; - -} - -$dbh->commit or die $dbh->errstr; -$dbh->disconnect or die $dbh->errstr; - -sub usage { -  die "Usage:\n  fix-sequences user [ table table ... ] \n"; -} - | 
