View | Details | Raw Unified | Return to bug 5860
Collapse All | Expand All

(-)a/installer/data/mysql/updatedatabase.pl (-7 / +28 lines)
Lines 4017-4028 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
4017
4017
4018
$DBversion = '3.02.06.001';
4018
$DBversion = '3.02.06.001';
4019
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4019
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4020
    $dbh->do("ALTER TABLE `items` DROP INDEX `itemsstocknumberidx`;");
4020
    stocknumber_checker();
4021
    $dbh->do("ALTER TABLE items ADD INDEX itemstocknumberidx (stocknumber);");
4021
    print "Upgrade to $DBversion done (5860 Index itemstocknumber)\n";
4022
    print "Upgrade to $DBversion done (Change items.stocknumber to be not unique)\n";
4023
    SetVersion ($DBversion);
4022
    SetVersion ($DBversion);
4024
}
4023
}
4025
4024
4025
sub stocknumber_checker { #code reused later on
4026
  my @row;
4027
  #drop the obsolete itemSStocknumber idx if it exists
4028
  @row = $dbh->selectrow_array("SHOW INDEXES FROM items WHERE key_name='itemsstocknumberidx'");
4029
  $dbh->do("ALTER TABLE `items` DROP INDEX `itemsstocknumberidx`;") if @row;
4030
4031
  #check itemstocknumber idx; remove it if it is unique
4032
  @row = $dbh->selectrow_array("SHOW INDEXES FROM items WHERE key_name='itemstocknumberidx' AND non_unique=0");
4033
  $dbh->do("ALTER TABLE `items` DROP INDEX `itemstocknumberidx`;") if @row;
4034
4035
  #add itemstocknumber index non-unique IF it still not exists
4036
  @row = $dbh->selectrow_array("SHOW INDEXES FROM items WHERE key_name='itemstocknumberidx'");
4037
  $dbh->do("ALTER TABLE items ADD INDEX itemstocknumberidx (stocknumber);") unless @row;
4038
}
4039
4026
$DBversion = '3.02.07.000';
4040
$DBversion = '3.02.07.000';
4027
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4041
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4028
    print "Upgrade to $DBversion done (Incrementing version for 3.2.7 release. See release notes for details.)\n";
4042
    print "Upgrade to $DBversion done (Incrementing version for 3.2.7 release. See release notes for details.)\n";
Lines 4031-4039 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
4031
4045
4032
$DBversion = '3.02.07.001';
4046
$DBversion = '3.02.07.001';
4033
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4047
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4034
    $dbh->do("ALTER TABLE `items` DROP INDEX `itemsstocknumberidx`;");
4048
    #follow up fix 5860: some installs already past 3.2.6.1
4035
    $dbh->do("ALTER TABLE items ADD INDEX itemstocknumberidx (stocknumber);");
4049
    stocknumber_checker();
4036
    print "Upgrade to $DBversion done (Change items.stocknumber to be not unique)\n";
4050
    print "Upgrade to $DBversion done (Fix for stocknumber index)\n";
4037
    SetVersion ($DBversion);
4051
    SetVersion ($DBversion);
4038
}
4052
}
4039
4053
Lines 4074-4079 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
4074
    SetVersion ($DBversion);
4088
    SetVersion ($DBversion);
4075
}
4089
}
4076
4090
4091
$DBversion = '3.02.09.XXX';
4092
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4093
    #follow up fix 5860: some installs already past 3.2.6.1/3.2.7.1
4094
    stocknumber_checker();
4095
    print "Upgrade to $DBversion done (Fix for stocknumber index)\n";
4096
    SetVersion ($DBversion);
4097
}
4098
4077
=head1 FUNCTIONS
4099
=head1 FUNCTIONS
4078
4100
4079
=head2 DropAllForeignKeys($table)
4101
=head2 DropAllForeignKeys($table)
4080
- 

Return to bug 5860