#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)
#-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
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;