|
Lines 1-18
Link Here
|
| 1 |
use Modern::Perl; |
1 |
use Modern::Perl; |
| 2 |
|
2 |
|
| 3 |
return { |
3 |
return { |
| 4 |
bug_number => 30472, |
4 |
bug_number => 30472, # adjusted on bug 33671 |
| 5 |
description => "borrower_relationships.guarantor_id NOT NULL", |
5 |
description => "borrower_relationships.guarantor_id NOT NULL", |
| 6 |
up => sub { |
6 |
up => sub { |
| 7 |
my ($args) = @_; |
7 |
my ($args) = @_; |
| 8 |
my ($dbh, $out) = @$args{qw(dbh out)}; |
8 |
my ($dbh, $out) = @$args{qw(dbh out)}; |
| 9 |
|
9 |
|
| 10 |
# Delete 'empty' guarantors. No longer possible to add them via interface. Have no use. |
10 |
# Delete bad/empty guarantors. No longer possible to add them via interface. Have no use. |
| 11 |
$dbh->do(q{ |
11 |
my $cnt = $dbh->do(q{ |
| 12 |
DELETE FROM borrower_relationships WHERE guarantor_id IS NULL |
12 |
DELETE borrower_relationships FROM borrower_relationships LEFT JOIN borrowers bo ON bo.borrowernumber=guarantor_id WHERE guarantor_id IS NULL OR bo.borrowernumber IS NULL; |
| 13 |
}); |
13 |
}); |
|
|
14 |
say $out "Removed $cnt bad guarantor relationship records" if $cnt && $cnt =~ /^\d+$/; |
| 15 |
|
| 16 |
# Make column NOT NULL, disable FK checks while doing so |
| 17 |
$dbh->do('SET FOREIGN_KEY_CHECKS=0'); |
| 14 |
$dbh->do(q{ |
18 |
$dbh->do(q{ |
| 15 |
ALTER TABLE borrower_relationships CHANGE COLUMN guarantor_id guarantor_id int(11) NOT NULL |
19 |
ALTER TABLE borrower_relationships CHANGE COLUMN guarantor_id guarantor_id int(11) NOT NULL |
| 16 |
}); |
20 |
}); |
|
|
21 |
$dbh->do('SET FOREIGN_KEY_CHECKS=1'); |
| 17 |
}, |
22 |
}, |
| 18 |
}; |
23 |
}; |
| 19 |
- |
|
|