diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-01-25 11:26:47 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-01-25 11:26:47 -0800 |
commit | dbc1003640a2f9593c1465ec66bf9be3645b834b (patch) | |
tree | 11259061abecea17278d72c316d002f458796e08 | |
parent | daed831fd026377530b224ef0d7ed9653a8eb763 (diff) |
fix encryption upgrades when a payment is refunded, then deleted. RT#74270, RT#73085
-rw-r--r-- | FS/FS/cust_refund.pm | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/FS/FS/cust_refund.pm b/FS/FS/cust_refund.pm index 12ab0d693..2d5b3aaae 100644 --- a/FS/FS/cust_refund.pm +++ b/FS/FS/cust_refund.pm @@ -472,6 +472,19 @@ sub unapplied_sql { } +sub _upgrade_schema { + #my ($class, %opts) = @_; + + my $sql = 'UPDATE cust_refund SET source_paynum = NULL + WHERE source_paynum IS NOT NULL + AND NOT EXISTS ( SELECT 1 FROM cust_pay + WHERE paynum = cust_refund.source_paynum ) + '; + my $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + ''; +} + # Used by FS::Upgrade to migrate to a new database. sub _upgrade_data { # class method my ($class, %opts) = @_; |