diff options
author | ivan <ivan> | 2004-05-12 18:03:47 +0000 |
---|---|---|
committer | ivan <ivan> | 2004-05-12 18:03:47 +0000 |
commit | e43ee0863e66d8d3e3a4453690561638ed4a92dd (patch) | |
tree | 771d851484b46ecddad2ef8ae213f6ead77d9a60 /bin/sequences.reset | |
parent | b53f5fb951a5fdf89ba3fb597c18682e699b95e7 (diff) |
adding
Diffstat (limited to 'bin/sequences.reset')
-rw-r--r-- | bin/sequences.reset | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bin/sequences.reset b/bin/sequences.reset new file mode 100644 index 000000000..f0fc4b7f2 --- /dev/null +++ b/bin/sequences.reset @@ -0,0 +1,28 @@ +#!/usr/bin/perl + +use FS::UID qw(adminsuidsetup); +use FS::Record qw(dbdef dbh); + +my $user = shift; +adminsuidsetup $user or die; + +foreach my $table ( dbdef->tables ) { + my $primary_key = dbdef->table($table)->primary_key; + next unless $primary_key; + #my $local = dbdef->table($table)->column($primary_key)->local; + ##next unless $default =~ /nextval/; + #print "$local\n"; + + my $statement = "select setval('${table}_${primary_key}_seq', ( select max($primary_key) from $table ) )\n"; + my $sth = dbh->prepare($statement) or do { + warn dbh->errstr. " preparing $statement\n"; + next; + }; + $sth->execute or do { + warn dbh->errstr. " executing $statement\n"; + dbh->commit; + next; + } + +} + |