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

(-)a/installer/data/mysql/kohastructure.sql (+4 lines)
Lines 1140-1145 CREATE TABLE `import_items` ( Link Here
1140
1140
1141
DROP TABLE IF EXISTS `issues`;
1141
DROP TABLE IF EXISTS `issues`;
1142
CREATE TABLE `issues` ( -- information related to check outs or issues
1142
CREATE TABLE `issues` ( -- information related to check outs or issues
1143
  `issue_id` int(11) NOT NULL AUTO_INCREMENT, -- primary key for issues table
1143
  `borrowernumber` int(11), -- foreign key, linking this to the borrowers table for the patron this item was checked out to
1144
  `borrowernumber` int(11), -- foreign key, linking this to the borrowers table for the patron this item was checked out to
1144
  `itemnumber` int(11), -- foreign key, linking this to the items table for the item that was checked out
1145
  `itemnumber` int(11), -- foreign key, linking this to the items table for the item that was checked out
1145
  `date_due` datetime default NULL, -- datetime the item is due (yyyy-mm-dd hh:mm::ss)
1146
  `date_due` datetime default NULL, -- datetime the item is due (yyyy-mm-dd hh:mm::ss)
Lines 1153-1158 CREATE TABLE `issues` ( -- information related to check outs or issues Link Here
1153
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched
1154
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched
1154
  `issuedate` datetime default NULL, -- date the item was checked out or issued
1155
  `issuedate` datetime default NULL, -- date the item was checked out or issued
1155
  `onsite_checkout` int(1) NOT NULL default 0, -- in house use flag
1156
  `onsite_checkout` int(1) NOT NULL default 0, -- in house use flag
1157
  PRIMARY KEY (`issue_id`),
1156
  KEY `issuesborridx` (`borrowernumber`),
1158
  KEY `issuesborridx` (`borrowernumber`),
1157
  KEY `itemnumber_idx` (`itemnumber`),
1159
  KEY `itemnumber_idx` (`itemnumber`),
1158
  KEY `branchcode_idx` (`branchcode`),
1160
  KEY `branchcode_idx` (`branchcode`),
Lines 1616-1621 CREATE TABLE `oai_sets_biblios` ( Link Here
1616
1618
1617
DROP TABLE IF EXISTS `old_issues`;
1619
DROP TABLE IF EXISTS `old_issues`;
1618
CREATE TABLE `old_issues` ( -- lists items that were checked out and have been returned
1620
CREATE TABLE `old_issues` ( -- lists items that were checked out and have been returned
1621
  `issue_id` int(11) NOT NULL, -- primary key for issues table
1619
  `borrowernumber` int(11) default NULL, -- foreign key, linking this to the borrowers table for the patron this item was checked out to
1622
  `borrowernumber` int(11) default NULL, -- foreign key, linking this to the borrowers table for the patron this item was checked out to
1620
  `itemnumber` int(11) default NULL, -- foreign key, linking this to the items table for the item that was checked out
1623
  `itemnumber` int(11) default NULL, -- foreign key, linking this to the items table for the item that was checked out
1621
  `date_due` datetime default NULL, -- date the item is due (yyyy-mm-dd)
1624
  `date_due` datetime default NULL, -- date the item is due (yyyy-mm-dd)
Lines 1629-1634 CREATE TABLE `old_issues` ( -- lists items that were checked out and have been r Link Here
1629
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched
1632
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched
1630
  `issuedate` datetime default NULL, -- date the item was checked out or issued
1633
  `issuedate` datetime default NULL, -- date the item was checked out or issued
1631
  `onsite_checkout` int(1) NOT NULL default 0, -- in house use flag
1634
  `onsite_checkout` int(1) NOT NULL default 0, -- in house use flag
1635
  PRIMARY KEY (`issue_id`),
1632
  KEY `old_issuesborridx` (`borrowernumber`),
1636
  KEY `old_issuesborridx` (`borrowernumber`),
1633
  KEY `old_issuesitemidx` (`itemnumber`),
1637
  KEY `old_issuesitemidx` (`itemnumber`),
1634
  KEY `branchcode_idx` (`branchcode`),
1638
  KEY `branchcode_idx` (`branchcode`),
(-)a/installer/data/mysql/updatedatabase.pl (-2 / +31 lines)
Lines 37-42 use Getopt::Long; Link Here
37
use C4::Context;
37
use C4::Context;
38
use C4::Installer;
38
use C4::Installer;
39
use C4::Dates;
39
use C4::Dates;
40
use Koha::Database;
40
41
41
use MARC::Record;
42
use MARC::Record;
42
use MARC::File::XML ( BinaryEncoding => 'utf8' );
43
use MARC::File::XML ( BinaryEncoding => 'utf8' );
Lines 3809-3816 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
3809
    print "Upgrade to $DBversion done (3.2.0 general release)\n";
3810
    print "Upgrade to $DBversion done (3.2.0 general release)\n";
3810
    SetVersion ($DBversion);
3811
    SetVersion ($DBversion);
3811
}
3812
}
3812
3813
# This is the point where 3.2.x and master diverged, we can use $original_version to make sure we don't
3813
# This is the point where 3.2.x and master diverged, we can use $original_version to make sure we don't
3814
3814
# apply updates that have already been done
3815
# apply updates that have already been done
3815
3816
3816
$DBversion = "3.03.00.001";
3817
$DBversion = "3.03.00.001";
Lines 9909-9914 if(CheckVersion($DBversion)) { Link Here
9909
    SetVersion($DBversion);
9910
    SetVersion($DBversion);
9910
}
9911
}
9911
9912
9913
9912
$DBversion = '3.19.00.017';
9914
$DBversion = '3.19.00.017';
9913
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
9915
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
9914
    # First create the column
9916
    # First create the column
Lines 9985-9990 while ( my $file = readdir $dirh ) { Link Here
9985
    my $rv = $installer->load_sql( $update_dir . $file ) ? 0 : 1;
9987
    my $rv = $installer->load_sql( $update_dir . $file ) ? 0 : 1;
9986
}
9988
}
9987
9989
9990
$DBversion = "XXX";
9991
if(CheckVersion($DBversion)) {
9992
    $dbh->do(q{
9993
        ALTER TABLE old_issues ADD issue_id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
9994
    });
9995
9996
    $dbh->do(q{
9997
        ALTER TABLE issues ADD issue_id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
9998
    });
9999
10000
    $dbh->do(q{
10001
        UPDATE issues SET issue_id = issue_id + ( SELECT COUNT(*) FROM old_issues ) ORDER BY issue_id DESC
10002
    });
10003
10004
    my $schema = Koha::Database->new()->schema();
10005
    my $max_issue_id = $schema->resultset('Issue')->get_column('issue_id')->max();
10006
    $max_issue_id ||= $schema->resultset('OldIssue')->get_column('issue_id')->max();
10007
    $max_issue_id ||= 0;
10008
    $max_issue_id++;
10009
    $dbh->do(qq{
10010
        ALTER TABLE issues AUTO_INCREMENT = $max_issue_id}
10011
    );
10012
10013
    print "Upgrade to $DBversion done (Bug 13790 - Add unique id issue_id to issues and oldissues tables)\n";
10014
    SetVersion($DBversion);
10015
10016
}
10017
9988
=head1 FUNCTIONS
10018
=head1 FUNCTIONS
9989
10019
9990
=head2 TableExists($table)
10020
=head2 TableExists($table)
9991
- 

Return to bug 13790