X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FUpgrade.pm;h=576676f76ed480e2337c9a0a8ff14ee3c212a7da;hb=7b125e587a4d1ee0aca692e23ea7897f671855ae;hp=34fc3248c932e6d520546c569b45fbf0f2b733e2;hpb=c16314e8e12b1e48d0871f935a72dee4b4f8f7c4;p=freeside.git diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm index 34fc3248c..576676f76 100644 --- a/FS/FS/Upgrade.pm +++ b/FS/FS/Upgrade.pm @@ -42,10 +42,6 @@ sub upgrade { my $data = upgrade_data(%opt); - my $oldAutoCommit = $FS::UID::AutoCommit; - local $FS::UID::AutoCommit = 0; - local $FS::UID::AutoCommit = 0; - foreach my $table ( keys %$data ) { my $class = "FS::$table"; @@ -57,10 +53,13 @@ sub upgrade { my $start = time; + my $oldAutoCommit = $FS::UID::AutoCommit; + local $FS::UID::AutoCommit = 0; + $FS::UID::AutoCommit = 0; + $class->_upgrade_data(%opt); if ( $oldAutoCommit ) { - warn " committing\n"; dbh->commit or die dbh->errstr; } @@ -154,9 +153,6 @@ sub upgrade_data { 'cust_refund' => [], 'banned_pay' => [], - #default namespace - 'payment_gateway' => [], - ; \%hash; @@ -186,8 +182,7 @@ sub upgrade_sqlradius { my $str2time = str2time_sql( $dbh->{Driver}->{Name} ); my $group = "UserName"; $group .= ",Realm" - if ref($part_export) =~ /withdomain/ - || $dbh->{Driver}->{Name} =~ /^Pg/; #hmm + if ( ref($part_export) =~ /withdomain/ ); my $sth_alter = $dbh->prepare( "ALTER TABLE radacct ADD COLUMN FreesideStatus varchar(32) NULL" @@ -213,26 +208,21 @@ sub upgrade_sqlradius { if ( $sth_index ) { unless ( $sth_index->execute ) { my $error = $sth_index->errstr; - warn $errmsg.$error - unless $error =~ /Duplicate key name/i #mysql - || $error =~ /relation "freesidestatus" already exists/i; #Pg + warn $errmsg.$error unless $error =~ /Duplicate key name/i; } } else { my $error = $dbh->errstr; - warn $errmsg.$error. ' (preparing statement)';#unless $error =~ /exists/i; + warn $errmsg.$error; #unless $error =~ /exists/i; } - my $times = ($dbh->{Driver}->{Name} =~ /^mysql/) - ? ' AcctStartTime != 0 AND AcctStopTime != 0 ' - : ' AcctStartTime IS NOT NULL AND AcctStopTime IS NOT NULL '; - my $sth = $dbh->prepare("SELECT UserName, Realm, $str2time max(AcctStartTime)), $str2time max(AcctStopTime)) FROM radacct WHERE FreesideStatus = 'done' - AND $times + AND AcctStartTime != 0 + AND AcctStopTime != 0 GROUP BY $group ") or die $errmsg.$dbh->errstr;