diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-03-10 12:02:33 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-03-10 12:02:33 -0800 |
commit | 1115cbfe4ba825c46be63a46bd2b5c34e910eab1 (patch) | |
tree | 2c09603a4685e9181fe2d0a3cd692ca8b23b5090 /FS/FS/cust_pay_pending.pm | |
parent | 65cb2bea6e8e93e268d45b523efe1a6666c521f6 (diff) |
fix upgrade of cust_pay_pending for deleted customers, RT#75118
Diffstat (limited to 'FS/FS/cust_pay_pending.pm')
-rw-r--r-- | FS/FS/cust_pay_pending.pm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/FS/FS/cust_pay_pending.pm b/FS/FS/cust_pay_pending.pm index d108341..8f313f4 100644 --- a/FS/FS/cust_pay_pending.pm +++ b/FS/FS/cust_pay_pending.pm @@ -504,6 +504,16 @@ sub _upgrade_schema { )'; my $sth = dbh->prepare($sql) or die dbh->errstr; $sth->execute or die $sth->errstr; + + # fix records where custnum points to a nonexistent customer + $sql = 'UPDATE cust_pay_pending SET custnum = NULL + WHERE NOT EXISTS ( + SELECT 1 FROM cust_main WHERE cust_main.custnum = cust_pay_pending.custnum + )'; + $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + + ''; } |