diff options
| author | ivan <ivan> | 2007-08-15 23:46:35 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2007-08-15 23:46:35 +0000 | 
| commit | 4000dfbec65727ad1f7a2176767e661b333b150d (patch) | |
| tree | 214264cf339912153cfddacfa4ae4aba1531325c /FS/bin/freeside-sqlradius-reset | |
| parent | 515f48e131383d2a8c6a830e11aebbee1ef52569 (diff) | |
add -n option to freeside-sqlradius-reset to supress deleting data
Diffstat (limited to 'FS/bin/freeside-sqlradius-reset')
| -rwxr-xr-x | FS/bin/freeside-sqlradius-reset | 27 | 
1 files changed, 18 insertions, 9 deletions
| diff --git a/FS/bin/freeside-sqlradius-reset b/FS/bin/freeside-sqlradius-reset index a2da7452e..94fa68a06 100755 --- a/FS/bin/freeside-sqlradius-reset +++ b/FS/bin/freeside-sqlradius-reset @@ -1,12 +1,16 @@  #!/usr/bin/perl -w  use strict; +use vars qw( $opt_n ); +use Getopt::Std;  use FS::UID qw(adminsuidsetup);  use FS::Record qw(qsearch qsearchs);  use FS::part_export;  use FS::svc_acct;  use FS::cust_svc; +getopts("n"); +  my $user = shift or die &usage;  adminsuidsetup $user; @@ -25,15 +29,17 @@ if ( @ARGV ) {    push @exports, qsearch('part_export', { exporttype=>'sqlradius_withdomain' } );  } -foreach my $export ( @exports ) { -  my $icradius_dbh = DBI->connect( -    map { $export->option($_) } qw( datasrc username password ) -  ) or die $DBI::errstr; -  for my $table (qw( radcheck radreply usergroup )) { -    my $sth = $icradius_dbh->prepare("DELETE FROM $table"); -    $sth->execute or die "Can't reset $table table: ". $sth->errstr; +unless ( $opt_n ) { +  foreach my $export ( @exports ) { +    my $icradius_dbh = DBI->connect( +      map { $export->option($_) } qw( datasrc username password ) +    ) or die $DBI::errstr; +    for my $table (qw( radcheck radreply usergroup )) { +      my $sth = $icradius_dbh->prepare("DELETE FROM $table"); +      $sth->execute or die "Can't reset $table table: ". $sth->errstr; +    } +    $icradius_dbh->disconnect;    } -  $icradius_dbh->disconnect;  }  foreach my $export ( @exports ) { @@ -75,7 +81,7 @@ freeside-sqlradius-reset - Command line interface to reset and recreate RADIUS S  =head1 SYNOPSIS -  freeside-sqlradius-reset username [ EXPORTNUM, ... ] +  freeside-sqlradius-reset [ -n ] username [ EXPORTNUM, ... ]  =head1 DESCRIPTION @@ -85,6 +91,9 @@ specified, for all sqlradius and sqlradius_withdomain exports.  B<username> is a username added by freeside-adduser. +The B<-n> option, if supplied, supresses the deletion of the existing data in +the tables. +  =head1 SEE ALSO  L<freeside-reexport>, L<FS::part_export>, L<FS::part_export::sqlradius> | 
