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

(-)a/installer/data/mysql/kohastructure.sql (-6 / +6 lines)
Lines 936-943 CREATE TABLE `import_items` ( Link Here
936
936
937
DROP TABLE IF EXISTS `issues`;
937
DROP TABLE IF EXISTS `issues`;
938
CREATE TABLE `issues` (
938
CREATE TABLE `issues` (
939
  `borrowernumber` int(11) default NULL,
939
  `borrowernumber` int(11),
940
  `itemnumber` int(11) default NULL,
940
  `itemnumber` int(11),
941
  `date_due` date default NULL,
941
  `date_due` date default NULL,
942
  `branchcode` varchar(10) default NULL,
942
  `branchcode` varchar(10) default NULL,
943
  `issuingbranch` varchar(18) default NULL,
943
  `issuingbranch` varchar(18) default NULL,
Lines 947-957 CREATE TABLE `issues` ( Link Here
947
  `renewals` tinyint(4) default NULL,
947
  `renewals` tinyint(4) default NULL,
948
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
948
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
949
  `issuedate` date default NULL,
949
  `issuedate` date default NULL,
950
  PRIMARY KEY (`itemnumber`),
950
  KEY `issuesborridx` (`borrowernumber`),
951
  KEY `issuesborridx` (`borrowernumber`),
951
  KEY `issuesitemidx` (`itemnumber`),
952
  KEY `bordate` (`borrowernumber`,`timestamp`),
952
  KEY `bordate` (`borrowernumber`,`timestamp`),
953
  CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL,
953
  CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE RESTRICT ON UPDATE CASCADE,
954
  CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL
954
  CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE RESTRICT ON UPDATE CASCADE
955
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
955
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
956
956
957
--
957
--
Lines 2098-2104 CREATE TABLE `serialitems` ( Link Here
2098
	UNIQUE KEY `serialitemsidx` (`itemnumber`),
2098
	UNIQUE KEY `serialitemsidx` (`itemnumber`),
2099
	KEY `serialitems_sfk_1` (`serialid`),
2099
	KEY `serialitems_sfk_1` (`serialid`),
2100
	CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE,
2100
	CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE,
2101
	CONSTRAINT serialitems_sfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE
2101
	CONSTRAINT `serialitems_sfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
2102
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2102
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2103
2103
2104
DROP TABLE IF EXISTS `user_permissions`;
2104
DROP TABLE IF EXISTS `user_permissions`;
(-)a/installer/data/mysql/updatedatabase.pl (+33 lines)
Lines 4370-4375 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
4370
    SetVersion($DBversion);
4370
    SetVersion($DBversion);
4371
}
4371
}
4372
4372
4373
$DBversion = "3.05.00.005";
4374
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
4375
    $dbh->do("INSERT INTO old_issues (borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate)
4376
              SELECT borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate FROM issues WHERE borrowernumber IS NULL");
4377
    $dbh->do("DELETE FROM issues WHERE borrowernumber IS NULL");
4378
4379
    $dbh->do("INSERT INTO old_issues (borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate)
4380
              SELECT borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate FROM issues WHERE itemnumber IS NULL");
4381
    $dbh->do("DELETE FROM issues WHERE itemnumber IS NULL");
4382
4383
    $dbh->do("INSERT INTO old_issues (borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate)
4384
              SELECT borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate FROM issues WHERE NOT EXISTS (SELECT * FROM borrowers WHERE borrowernumber = issues.borrowernumber)");
4385
    $dbh->do("DELETE FROM issues WHERE NOT EXISTS (SELECT * FROM borrowers WHERE borrowernumber = issues.borrowernumber)");
4386
4387
    $dbh->do("INSERT INTO old_issues (borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate)
4388
              SELECT borrowernumber, itemnumber, date_due, branchcode, issuingbranch, returndate, lastreneweddate, `return`, renewals, timestamp, issuedate FROM issues WHERE NOT EXISTS (SELECT * FROM items WHERE itemnumber = issues.itemnumber)");
4389
    $dbh->do("DELETE FROM issues WHERE NOT EXISTS (SELECT * FROM items WHERE itemnumber = issues.itemnumber)");
4390
4391
    $dbh->do("ALTER TABLE issues ALTER COLUMN borrowernumber DROP DEFAULT");
4392
    $dbh->do("ALTER TABLE issues ALTER COLUMN itemnumber DROP DEFAULT");
4393
    $dbh->do("ALTER TABLE issues MODIFY COLUMN borrowernumber int(11) NOT NULL");
4394
    $dbh->do("ALTER TABLE issues MODIFY COLUMN itemnumber int(11) NOT NULL");
4395
    $dbh->do("ALTER TABLE issues DROP KEY `issuesitemidx`");
4396
    $dbh->do("ALTER TABLE issues ADD PRIMARY KEY (`itemnumber`)");
4397
    $dbh->do("ALTER TABLE issues DROP FOREIGN KEY `issues_ibfk_1`");
4398
    $dbh->do("ALTER TABLE issues DROP FOREIGN KEY `issues_ibfk_2`");
4399
    $dbh->do("ALTER TABLE issues ADD CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE RESTRICT ON UPDATE CASCADE");
4400
    $dbh->do("ALTER TABLE issues ADD CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE RESTRICT ON UPDATE CASCADE");
4401
4402
    print "Upgrade to $DBversion done (issues referential integrity)\n";
4403
    SetVersion ($DBversion);
4404
}
4405
4373
=head1 FUNCTIONS
4406
=head1 FUNCTIONS
4374
4407
4375
=head2 DropAllForeignKeys($table)
4408
=head2 DropAllForeignKeys($table)
(-)a/kohaversion.pl (-2 / +1 lines)
Lines 16-22 the kohaversion is divided in 4 parts : Link Here
16
use strict;
16
use strict;
17
17
18
sub kohaversion {
18
sub kohaversion {
19
    our $VERSION = '3.05.00.004';
19
    our $VERSION = '3.05.00.005';
20
    # version needs to be set this way
20
    # version needs to be set this way
21
    # so that it can be picked up by Makefile.PL
21
    # so that it can be picked up by Makefile.PL
22
    # during install
22
    # during install
23
- 

Return to bug 4002