|
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 |
- |
|
|