diff options
author | ivan <ivan> | 2010-08-11 06:35:20 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-08-11 06:35:20 +0000 |
commit | 9f3d1466f4dd917aeb07d7e85222d97e131062f1 (patch) | |
tree | 6a2be98b3b72f38f124d8a6a33b62bd8e2738ee9 /bin/wipe-customers | |
parent | fc6928bd855d50cbd96b977746baf47c27fd99df (diff) |
a better customer delete, RT#9564
Diffstat (limited to 'bin/wipe-customers')
-rw-r--r-- | bin/wipe-customers | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/wipe-customers b/bin/wipe-customers new file mode 100644 index 000000000..e65ed61be --- /dev/null +++ b/bin/wipe-customers @@ -0,0 +1,30 @@ +#!/usr/bin/perl + +use strict; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::cust_main; + +die "this removes all customers in your database except for customer 1 - remove this line to enable"; + +my $user = shift or die "usage: wipe-customers username\n"; +adminsuidsetup $user; + +#this isn't terribly efficient, but the idea was clearing out a test database, +#not actually destroying a large amount of data + +foreach my $cust_main ( + + qsearch('cust_main', { 'custnum' => { op=>'!=', value=>'1' } } ) + +) { + + my @cerrors = $cust_main->cancel( quiet=>1, nobill=>1 ); + if ( @cerrors ) { + die join(' / ', @cerrors); + } + + my $error = $cust_main->delete( 'delete_financials' => 1); + die $error if $error; + +} |