X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Ftest_scrub;h=ecb7229430a8f81172e45bb9703c0b1976b559cc;hp=5766925a60265bb6aa48a1756feaf3f88b7bd582;hb=7c11a4fc80ec0478838d26645e30fe3b2b751edd;hpb=0bab56e6204a7e443921730ffcd05517c07cce28 diff --git a/bin/test_scrub b/bin/test_scrub old mode 100644 new mode 100755 index 5766925a6..ecb722943 --- a/bin/test_scrub +++ b/bin/test_scrub @@ -3,6 +3,7 @@ #This drops anything from the database that could cause live things to happen. #You'd want to do this on a test copy of your live database but NEVER on the #live database itself. +die "remove this line to run -- NEVER ON A LIVE DATABASE"; #-all exports (all records in part_export, part_export_option export_svc) #-all non-POST invoice destinations (cust_main_invoice) @@ -12,15 +13,20 @@ #-business-onlinepayment and business-onlinepayment-ach config use strict; +use vars qw( $opt_h ); +use Getopt::Std; use FS::UID qw(adminsuidsetup dbh); use FS::Conf; +use FS::Schema qw(dbdef); + +getopts('h'); adminsuidsetup shift; foreach my $table (qw( - part_export - part_export_option export_svc + part_export_option + part_export payment_gateway payment_gateway_option agent_payment_gateway @@ -37,12 +43,37 @@ my $dsth = dbh->prepare("DELETE FROM cust_main_invoice WHERE dest != 'POST'") or die dbh->errstr; $dsth->execute or die $dsth->errstr; +foreach my $table (qw( cust_main cust_payby + cust_pay_pending cust_pay cust_pay_void cust_pay_batch + cust_refund +)) { + my $ccsth = dbh->prepare(" + UPDATE $table SET payinfo = '4111111111111111' + WHERE payby = 'CARD' OR payby = 'DCRD' + ") or die dbh->errstr; + $ccsth->execute or die $ccsth->errstr; +} + +my $sth = dbh->prepare("UPDATE part_event SET disabled = 'Y'"); +$sth->execute or die $sth->errstr; + my $conf = new FS::Conf; foreach my $item (qw( business-onlinepayment business-onlinepayment-ach + dump-localdest + dump-scpdest + cust_bill-ftp_spool + smtpmachine )) { $conf->delete($item); } +if ($opt_h) { # not all history can be safely deleted + foreach my $table (grep { /^h_\w+$/ } dbdef->tables) { + my $sth = dbh->prepare("DELETE FROM $table") or die dbh->errstr; + $sth->execute or die $sth->errstr; + } +} + dbh->commit or die dbh->errstr;