X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main_invoice.pm;h=31a07bcfff4fe7c9598200ff7885b000e30a1fa7;hb=e803d5f00368e951f7a4b82d5d390b53c4a6c827;hp=6c155aca63101e4afde2b3a912ae240e51ded89b;hpb=b2fd002f3285b70311642f8ff0025598d42bd16e;p=freeside.git diff --git a/FS/FS/cust_main_invoice.pm b/FS/FS/cust_main_invoice.pm index 6c155aca6..31a07bcff 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). =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