Lines 38-44
use C4::Context;
Link Here
|
38 |
use C4::Installer; |
38 |
use C4::Installer; |
39 |
use C4::Dates; |
39 |
use C4::Dates; |
40 |
use Koha::Database; |
40 |
use Koha::Database; |
41 |
|
|
|
42 |
use Koha; |
41 |
use Koha; |
43 |
|
42 |
|
44 |
use MARC::Record; |
43 |
use MARC::Record; |
Lines 9897-9903
if ( CheckVersion($DBversion) ) {
Link Here
|
9897 |
ALTER TABLE search_history ADD COLUMN id INT(11) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY(id); |
9896 |
ALTER TABLE search_history ADD COLUMN id INT(11) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY(id); |
9898 |
|); |
9897 |
|); |
9899 |
print "Upgrade to $DBversion done (Bug 11430: Add primary key for search_history)\n"; |
9898 |
print "Upgrade to $DBversion done (Bug 11430: Add primary key for search_history)\n"; |
9900 |
SetVersion($DBversion); |
9899 |
SetVersion ($DBversion); |
9901 |
} |
9900 |
} |
9902 |
|
9901 |
|
9903 |
$DBversion = "3.19.00.016"; |
9902 |
$DBversion = "3.19.00.016"; |
Lines 10641-10646
if ( CheckVersion($DBversion) ) {
Link Here
|
10641 |
SetVersion($DBversion); |
10640 |
SetVersion($DBversion); |
10642 |
} |
10641 |
} |
10643 |
|
10642 |
|
|
|
10643 |
$DBversion = "3.19.00.XXX"; |
10644 |
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { |
10645 |
$dbh->do(" |
10646 |
ALTER TABLE serial |
10647 |
ADD serialseq_x VARCHAR( 100 ) NULL DEFAULT NULL AFTER serialseq, |
10648 |
ADD serialseq_y VARCHAR( 100 ) NULL DEFAULT NULL AFTER serialseq_x, |
10649 |
ADD serialseq_z VARCHAR( 100 ) NULL DEFAULT NULL AFTER serialseq_y |
10650 |
"); |
10651 |
|
10652 |
my $schema = Koha::Database->new()->schema(); |
10653 |
my @subscriptions = $schema->resultset('Subscription')->all(); |
10654 |
|
10655 |
foreach my $subscription (@subscriptions) { |
10656 |
my $number_pattern = $subscription->numberpattern(); |
10657 |
|
10658 |
my @splits = split( /\{[XYZ]\}/, $number_pattern->numberingmethod() ); |
10659 |
|
10660 |
my @serials = |
10661 |
$schema->resultset('Serial') |
10662 |
->search( { subscriptionid => $subscription->subscriptionid() } ); |
10663 |
|
10664 |
foreach my $serial (@serials) { |
10665 |
my $serialseq = $serial->serialseq(); |
10666 |
my ( $x, $y, $z ); |
10667 |
|
10668 |
## We cannot split on multiple values at once, |
10669 |
## so let's replace each of those values with __SPLIT__ |
10670 |
if (@splits) { |
10671 |
map( $serialseq =~ s/$_/__SPLIT__/, @splits ); |
10672 |
( undef, $x, $y, $z ) = split( /__SPLIT__/, $serialseq ); |
10673 |
} |
10674 |
else |
10675 |
{ ## Nothing to split on means the only thing in serialseq is {X} |
10676 |
$x = $serialseq; |
10677 |
} |
10678 |
|
10679 |
$serial->update( |
10680 |
{ |
10681 |
serialseq_x => $x, |
10682 |
serialseq_y => $y, |
10683 |
serialseq_z => $z, |
10684 |
} |
10685 |
); |
10686 |
} |
10687 |
} |
10688 |
|
10689 |
print "Upgrade to $DBversion done ( Bug 8956 - Split serials enumeration data into separate fields )\n"; |
10690 |
SetVersion($DBversion); |
10691 |
} |
10692 |
|
10644 |
|
10693 |
|
10645 |
# DEVELOPER PROCESS, search for anything to execute in the db_update directory |
10694 |
# DEVELOPER PROCESS, search for anything to execute in the db_update directory |
10646 |
# SEE bug 13068 |
10695 |
# SEE bug 13068 |
10647 |
- |
|
|