From 717ed956e64cfc10f1e78e67b6c82dfcf212a18d Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Sat, 18 Feb 2017 14:21:03 -0800 Subject: [PATCH] fix 4.x upgrades when an invoice with a discount was deleted instead of voided, RT#74611 --- FS/FS/cust_bill_pkg_discount.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/FS/FS/cust_bill_pkg_discount.pm b/FS/FS/cust_bill_pkg_discount.pm index 616657a4f..2a638a90e 100644 --- a/FS/FS/cust_bill_pkg_discount.pm +++ b/FS/FS/cust_bill_pkg_discount.pm @@ -2,6 +2,7 @@ package FS::cust_bill_pkg_discount; use base qw( FS::cust_main_Mixin FS::Record ); use strict; +use FS::Record qw( dbh ); =head1 NAME @@ -185,6 +186,19 @@ sub description { return $desc; } +sub _upgrade_schema { + my ($class, %opts) = @_; + + my $sql = ' + DELETE FROM cust_bill_pkg_discount WHERE NOT EXISTS + ( SELECT 1 FROM cust_bill_pkg WHERE cust_bill_pkg.billpkgnum = cust_bill_pkg_discount.billpkgnum ) + '; + + my $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + ''; +} + =back =head1 BUGS -- 2.11.0