Bug 26268: (QA follow-up) Conditionally remove
This patch adds conditions to prevent the removal of items.paidfor if it is populated and also adds the removal fo the marc_subfield_structure row if it exists. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
7d2b6a3f35
commit
1758388045
1 changed files with 36 additions and 6 deletions
|
@ -1,13 +1,43 @@
|
|||
$DBversion = 'XXX'; # will be replaced by the RM
|
||||
if( CheckVersion( $DBversion ) ) {
|
||||
$DBversion = 'XXX'; # will be replaced by the RM
|
||||
if ( CheckVersion($DBversion) ) {
|
||||
|
||||
if( column_exists( 'items', 'paidfor' ) ) {
|
||||
$dbh->do(q|ALTER TABLE items DROP COLUMN paidfor|);
|
||||
if ( column_exists( 'items', 'paidfor' ) ) {
|
||||
my ($count) = $dbh->selectrow_array(
|
||||
qq|
|
||||
SELECT COUNT(*)
|
||||
FROM items
|
||||
WHERE paidfor IS NOT NULL AND paidfor <> ""
|
||||
|
|
||||
);
|
||||
if ($count) {
|
||||
warn "Warning - Cannot remove column items.paidfor. At least one value exists";
|
||||
}
|
||||
else {
|
||||
$dbh->do(q|ALTER TABLE items DROP COLUMN paidfor|);
|
||||
$dbh->do(q|
|
||||
DELETE FROM marc_subfield_structure
|
||||
WHERE tagfield = '952'
|
||||
AND tagsubfield = 'x'
|
||||
AND kohafield = 'items.paidfor'
|
||||
|);
|
||||
}
|
||||
}
|
||||
|
||||
if ( column_exists( 'deleteditems', 'paidfor' ) ) {
|
||||
$dbh->do(q|ALTER TABLE deleteditems DROP COLUMN paidfor|);
|
||||
my ($count) = $dbh->selectrow_array(
|
||||
qq|
|
||||
SELECT COUNT(*)
|
||||
FROM items
|
||||
WHERE paidfor IS NOT NULL AND paidfor <> ""
|
||||
|
|
||||
);
|
||||
if ($count) {
|
||||
warn "Warning - Cannot remove column deleteditems.paidfor. At least one value exists";
|
||||
}
|
||||
else {
|
||||
$dbh->do(q|ALTER TABLE deleteditems DROP COLUMN paidfor|);
|
||||
}
|
||||
}
|
||||
|
||||
NewVersion( $DBversion, 26268, "Remove items.paidfor field");
|
||||
NewVersion( $DBversion, 26268, "Remove items.paidfor field" );
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue