[freeside-commits] branch master updated. 0fff8be254172452fabeef67f8136127466ab34b
Ivan
ivan at 420.am
Tue Mar 21 06:19:34 PDT 2017
The branch, master has been updated
via 0fff8be254172452fabeef67f8136127466ab34b (commit)
from 247a72232486b809bd0f0d88f3506dc0a1e79d93 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0fff8be254172452fabeef67f8136127466ab34b
Author: Ivan Kohler <ivan at freeside.biz>
Date: Tue Mar 21 06:19:33 2017 -0700
fix upgrade for dangling cust_main_invoice, RT#75271
diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm
index da74555..6edec90 100644
--- a/FS/FS/Upgrade.pm
+++ b/FS/FS/Upgrade.pm
@@ -575,6 +575,7 @@ sub upgrade_schema_data {
'cust_event_fee' => [],
'radius_attr' => [],
'queue_depend' => [],
+ 'cust_main_invoice' => [],
#update records referencing removed things with their FKs
'cust_pkg' => [],
;
diff --git a/FS/FS/cust_main_invoice.pm b/FS/FS/cust_main_invoice.pm
index 6c155ac..31a07bc 100644
--- a/FS/FS/cust_main_invoice.pm
+++ b/FS/FS/cust_main_invoice.pm
@@ -2,7 +2,7 @@ package FS::cust_main_invoice;
use base qw( FS::Record );
use strict;
-use FS::Record qw( qsearchs );
+use FS::Record qw( qsearchs dbh );
use FS::Conf;
use FS::svc_acct;
use FS::Msgcat qw(gettext);
@@ -167,6 +167,22 @@ Returns the parent customer object (see L<FS::cust_main>).
=back
+=cut
+
+sub _upgrade_schema {
+ my ($class, %opts) = @_;
+
+ # delete records where custnum points to a nonexistent customer
+ my $sql = 'DELETE FROM cust_main_invoice
+ WHERE NOT EXISTS (
+ SELECT 1 FROM cust_main WHERE cust_main.custnum = cust_main_invoice.custnum
+ )';
+ my $sth = dbh->prepare($sql) or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+
+ '';
+}
+
=head1 BUGS
=head1 SEE ALSO
-----------------------------------------------------------------------
Summary of changes:
FS/FS/Upgrade.pm | 1 +
FS/FS/cust_main_invoice.pm | 18 +++++++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
More information about the freeside-commits
mailing list