diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-03-10 11:58:02 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-03-10 11:58:02 -0800 |
commit | 65cb2bea6e8e93e268d45b523efe1a6666c521f6 (patch) | |
tree | 9353b2aebc7c44eea13f21c18d3ce0db61236fd5 /FS/FS | |
parent | 1f485a64aa2868036eb17e122191ab8e8868a947 (diff) |
fix upgrade for dangling queue_depend, RT#75117
Diffstat (limited to 'FS/FS')
-rw-r--r-- | FS/FS/Upgrade.pm | 1 | ||||
-rw-r--r-- | FS/FS/queue_depend.pm | 18 |
2 files changed, 18 insertions, 1 deletions
diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm index 3b76bb5b5..c860453d2 100644 --- a/FS/FS/Upgrade.pm +++ b/FS/FS/Upgrade.pm @@ -577,6 +577,7 @@ sub upgrade_schema_data { 'cust_bill_pay_batch' => [], 'cust_event_fee' => [], 'radius_attr' => [], + 'queue_depend' => [], #update records referencing removed things with their FKs 'cust_pkg' => [], ; diff --git a/FS/FS/queue_depend.pm b/FS/FS/queue_depend.pm index cd3f7872f..f21ed9946 100644 --- a/FS/FS/queue_depend.pm +++ b/FS/FS/queue_depend.pm @@ -1,7 +1,8 @@ package FS::queue_depend; -use base qw(FS::Record); +use base qw( FS::Record ); use strict; +use FS::Record qw( dbh ); =head1 NAME @@ -105,6 +106,21 @@ sub check { =back +=cut + +sub _upgrade_schema { + my ($class, %opts) = @_; + + my $sql = ' + DELETE FROM queue_depend WHERE NOT EXISTS + ( SELECT 1 FROM queue WHERE queue.jobnum = queue_depend.jobnum ) + '; + + my $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + ''; +} + =head1 BUGS =head1 SEE ALSO |