[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