use MARC::Record;
use MARC::File::XML ( BinaryEncoding => 'utf8' );
-
+
# FIXME - The user might be installing a new database, so can't rely
# on /etc/koha.conf anyway.
my $DBversion = "3.00.00.001";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
# update virtualshelves table to
- #
+ #
$dbh->do("ALTER TABLE `bookshelf` RENAME `virtualshelves`");
$dbh->do("ALTER TABLE `shelfcontents` RENAME `virtualshelfcontents`");
$dbh->do("ALTER TABLE `virtualshelfcontents` ADD `biblionumber` INT( 11 ) NOT NULL default '0' AFTER shelfnumber");
$DBversion = "3.00.00.004";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("INSERT INTO `systempreferences` VALUES ('DebugLevel','2','set the level of error info sent to the browser. 0=none, 1=some, 2=most','0|1|2','Choice')");
+ $dbh->do("INSERT INTO `systempreferences` VALUES ('DebugLevel','2','set the level of error info sent to the browser. 0=none, 1=some, 2=most','0|1|2','Choice')");
print "Upgrade to $DBversion done (adding DebugLevel systempref, in 'Admin' tab)\n";
SetVersion ($DBversion);
}
# Create backups of call number columns
# in case default migration needs to be customized
#
- # UPGRADE NOTE: temp_upg_biblioitems_call_num should be dropped
+ # UPGRADE NOTE: temp_upg_biblioitems_call_num should be dropped
# after call numbers have been transformed to the new structure
#
# Not bothering to do the same with deletedbiblioitems -- assume
# default is good enough.
- $dbh->do("CREATE TABLE `temp_upg_biblioitems_call_num` AS
+ $dbh->do("CREATE TABLE `temp_upg_biblioitems_call_num` AS
SELECT `biblioitemnumber`, `biblionumber`,
`classification`, `dewey`, `subclass`,
`lcsort`, `ccode`
ADD `totalissues` INT(10) AFTER `cn_sort`");
# default mapping of call number columns:
- # cn_class = concatentation of classification + dewey,
+ # cn_class = concatentation of classification + dewey,
# trimmed to fit -- assumes that most users do not
# populate both classification and dewey in a single record
# cn_item = subclass
- # cn_source = left null
- # cn_sort = lcsort
+ # cn_source = left null
+ # cn_sort = lcsort
#
# After upgrade, cn_sort will have to be set based on whatever
# default call number scheme user sets as a preference. Misc
# script will be added at some point to do that.
#
- $dbh->do("UPDATE `biblioitems`
+ $dbh->do("UPDATE `biblioitems`
SET cn_class = SUBSTR(TRIM(CONCAT_WS(' ', `classification`, `dewey`)), 1, 30),
cn_item = subclass,
`cn_sort` = `lcsort`
$dbh->do("UPDATE deletedbiblio SET datecreated = timestamp");
# deletedbiblioitems changes
- $dbh->do("ALTER TABLE `deletedbiblioitems`
+ $dbh->do("ALTER TABLE `deletedbiblioitems`
MODIFY `publicationyear` TEXT,
CHANGE `volumeddesc` `volumedesc` TEXT,
MODIFY `collectiontitle` MEDIUMTEXT DEFAULT NULL AFTER `volumedesc`,
ADD KEY `publishercode` (`publishercode`)
");
- $dbh->do("UPDATE `deletedbiblioitems`
+ $dbh->do("UPDATE `deletedbiblioitems`
SET `cn_class` = SUBSTR(TRIM(CONCAT_WS(' ', `classification`, `dewey`)), 1, 30),
`cn_item` = `subclass`,
`cn_sort` = `lcsort`
");
- $dbh->do("ALTER TABLE `deletedbiblioitems`
+ $dbh->do("ALTER TABLE `deletedbiblioitems`
DROP COLUMN `classification`,
DROP COLUMN `dewey`,
DROP COLUMN `subclass`,
");
# deleteditems changes
- $dbh->do("ALTER TABLE `deleteditems`
+ $dbh->do("ALTER TABLE `deleteditems`
MODIFY `barcode` VARCHAR(20) DEFAULT NULL,
MODIFY `price` DECIMAL(8,2) DEFAULT NULL,
MODIFY `replacementprice` DECIMAL(8,2) DEFAULT NULL,
ADD `materials` VARCHAR(10) DEFAULT NULL AFTER `ccode`,
ADD `uri` VARCHAR(255) DEFAULT NULL AFTER `materials`
");
- $dbh->do("ALTER TABLE `items`
+ $dbh->do("ALTER TABLE `items`
DROP KEY `itembarcodeidx`,
ADD UNIQUE KEY `itembarcodeidx` (`barcode`)");
- # map items.itype to items.ccode and
+ # map items.itype to items.ccode and
# set cn_sort to itemcallnumber -- as with biblioitems.cn_sort,
- # will have to be subsequently updated per user's default
+ # will have to be subsequently updated per user's default
# classification scheme
$dbh->do("UPDATE `items` SET `cn_sort` = `itemcallnumber`,
`ccode` = `itype`");
PRIMARY KEY (`cn_source`),
UNIQUE KEY `cn_source_idx` (`cn_source`),
KEY `used_idx` (`used`),
- CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`)
+ CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`)
REFERENCES `class_sort_rules` (`class_sort_rule`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
- $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type)
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type)
VALUES('DefaultClassificationSource','ddc',
'Default classification scheme used by the collection. E.g., Dewey, LCC, etc.', NULL,'free')");
$dbh->do("INSERT INTO `class_sort_rules` (`class_sort_rule`, `description`, `sort_routine`) VALUES
`import_record_id` int(11) NOT NULL,
`candidate_match_id` int(11) NOT NULL,
`score` int(11) NOT NULL default 0,
- CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`)
+ CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`)
REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
KEY `record_score` (`import_record_id`, `score`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
`isbn` varchar(14) default NULL,
`issn` varchar(9) default NULL,
`has_items` tinyint(1) NOT NULL default 0,
- CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`)
+ CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`)
REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
KEY `matched_biblionumber` (`matched_biblionumber`),
KEY `title` (`title`),
`marcxml` longtext NOT NULL,
`import_error` mediumtext,
PRIMARY KEY (`import_items_id`),
- CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`)
+ CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`)
REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
KEY `itemnumber` (`itemnumber`),
KEY `branchcode` (`branchcode`)
FROM `marc_breeding`
JOIN `import_records` ON (`import_record_id` = `id`)");
- $dbh->do("UPDATE `import_batches`
+ $dbh->do("UPDATE `import_batches`
SET `num_biblios` = (
SELECT COUNT(*)
FROM `import_records`
SetVersion ($DBversion);
}
-$DBversion = "3.00.00.015";
+$DBversion = "3.00.00.015";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("CREATE TABLE `saved_sql` (
`id` int(11) NOT NULL auto_increment,
SetVersion ($DBversion);
}
-$DBversion = "3.00.00.016";
+$DBversion = "3.00.00.016";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do(" CREATE TABLE reports_dictionary (
id int(11) NOT NULL auto_increment,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ");
print "Upgrade to $DBversion done (reports_dictionary) added)\n";
SetVersion ($DBversion);
-}
+}
$DBversion = "3.00.00.017";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$DBversion = "3.00.00.018";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("ALTER TABLE `zebraqueue`
+ $dbh->do("ALTER TABLE `zebraqueue`
ADD `done` INT NOT NULL DEFAULT '0',
- ADD `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
+ ADD `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
");
print "Upgrade to $DBversion done (adding timestamp and done columns to zebraque table to improve problem tracking) added)\n";
SetVersion ($DBversion);
-}
+}
$DBversion = "3.00.00.019";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$DBversion = "3.00.00.020";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("ALTER TABLE deleteditems
+ $dbh->do("ALTER TABLE deleteditems
DROP KEY `delitembarcodeidx`,
ADD KEY `delitembarcodeidx` (`barcode`)");
print "Upgrade to $DBversion done (dropped uniqueness of key on deleteditems.barcode)\n";
$dbh->do("ALTER TABLE subscription CHANGE lastbranch lastbranch VARCHAR(10)");
print "Upgrade to $DBversion done (extended missed branchcode columns to 10 chars)\n";
SetVersion ($DBversion);
-}
+}
$DBversion = "3.00.00.022";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("ALTER TABLE items
+ $dbh->do("ALTER TABLE items
ADD `damaged` tinyint(1) default NULL AFTER notforloan");
- $dbh->do("ALTER TABLE deleteditems
+ $dbh->do("ALTER TABLE deleteditems
ADD `damaged` tinyint(1) default NULL AFTER notforloan");
print "Upgrade to $DBversion done (adding damaged column to items table)\n";
SetVersion ($DBversion);
VALUES ('yuipath','http://yui.yahooapis.com/2.3.1/build','Insert the path to YUI libraries','','free')");
print "Upgrade to $DBversion done (adding new system preference for controlling YUI path)\n";
SetVersion ($DBversion);
-}
+}
$DBversion = "3.00.00.024";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("ALTER TABLE biblioitems CHANGE itemtype itemtype VARCHAR(10)");
$DBversion = "3.00.00.046";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("ALTER TABLE `subscription` CHANGE `numberlength` `numberlength` int(11) default '0' ,
+ $dbh->do("ALTER TABLE `subscription` CHANGE `numberlength` `numberlength` int(11) default '0' ,
CHANGE `weeklength` `weeklength` int(11) default '0'");
$dbh->do("CREATE TABLE `serialitems` (`serialid` int(11) NOT NULL, `itemnumber` int(11) NOT NULL, UNIQUE KEY `serialididx` (`serialid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8");
$dbh->do("INSERT INTO `serialitems` SELECT `serialid`,`itemnumber` from serial where NOT ISNULL(itemnumber) && itemnumber <> '' && itemnumber NOT LIKE '%,%'");
SetVersion ($DBversion);
}
-$DBversion = "3.00.00.053";
+$DBversion = "3.00.00.053";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("CREATE TABLE `printers_profile` (
`prof_id` int(4) NOT NULL auto_increment,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ");
print "Upgrade to $DBversion done ( Printer Profile tables added )\n";
SetVersion ($DBversion);
-}
+}
$DBversion = "3.00.00.054";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
print "Upgrade to $DBversion done ( Added item.enumchron column, and framework map to 952h )\n";
SetVersion ($DBversion);
}
-
+
$DBversion = "3.00.00.057";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH','0','if ON, OAI-PMH server is enabled',NULL,'YesNo');");
$DBversion = "3.00.00.058";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("ALTER TABLE `opac_news`
- CHANGE `lang` `lang` VARCHAR( 25 )
- CHARACTER SET utf8
- COLLATE utf8_general_ci
+ $dbh->do("ALTER TABLE `opac_news`
+ CHANGE `lang` `lang` VARCHAR( 25 )
+ CHARACTER SET utf8
+ COLLATE utf8_general_ci
NOT NULL default ''");
print "Upgrade to $DBversion done ( lang field in opac_news made longer )\n";
SetVersion ($DBversion);
KEY `old_issuesborridx` (`borrowernumber`),
KEY `old_issuesitemidx` (`itemnumber`),
KEY `old_bordate` (`borrowernumber`,`timestamp`),
- CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
+ CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
ON DELETE SET NULL ON UPDATE SET NULL,
- CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
+ CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
ON DELETE SET NULL ON UPDATE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
$dbh->do("CREATE TABLE `old_reserves` (
KEY `old_reserves_biblionumber` (`biblionumber`),
KEY `old_reserves_itemnumber` (`itemnumber`),
KEY `old_reserves_branchcode` (`branchcode`),
- CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
+ CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
ON DELETE SET NULL ON UPDATE SET NULL,
- CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`)
+ CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`)
ON DELETE SET NULL ON UPDATE SET NULL,
- CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
+ CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
ON DELETE SET NULL ON UPDATE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
`code` varchar(30) DEFAULT NULL,
CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`)
+ CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`)
REFERENCES `permissions` (`module_bit`, `code`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8");
(13, 'delete_anonymize_patrons', 'Delete old borrowers and anonymize circulation history (deletes borrower reading history)'),
(13, 'batch_upload_patron_images', 'Upload patron images in batch or one at a time'),
(13, 'schedule_tasks', 'Schedule tasks to run')");
-
+
$dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('GranularPermissions','0','Use detailed staff user permissions',NULL,'YesNo')");
print "Upgrade to $DBversion done (adding permissions and user_permissions tables and GranularPermissions syspref) \n";
$dbh->do("ALTER TABLE import_batches
ADD COLUMN nomatch_action enum('create_new', 'ignore') NOT NULL default 'create_new' AFTER overlay_action");
$dbh->do("ALTER TABLE import_batches
- ADD COLUMN item_action enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore')
+ ADD COLUMN item_action enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore')
NOT NULL default 'always_add' AFTER nomatch_action");
$dbh->do("ALTER TABLE import_batches
MODIFY overlay_action enum('replace', 'create_new', 'use_template', 'ignore')
NOT NULL default 'create_new'");
$dbh->do("ALTER TABLE import_records
- MODIFY status enum('error', 'staged', 'imported', 'reverted', 'items_reverted',
+ MODIFY status enum('error', 'staged', 'imported', 'reverted', 'items_reverted',
'ignored') NOT NULL default 'staged'");
$dbh->do("ALTER TABLE import_items
MODIFY status enum('error', 'staged', 'imported', 'reverted', 'ignored') NOT NULL default 'staged'");
$dbh->{PrintError} = 0;
my ($raise_error) = $dbh->{RaiseError};
$dbh->{RaiseError} = 1;
-
+
my $count = 0;
my $do_drop = 1;
eval { $count = $dbh->do("SELECT 1 FROM categorytable"); };
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
my ($print_error) = $dbh->{PrintError};
$dbh->{PrintError} = 0;
-
+
unless ($dbh->do("SELECT 1 FROM browser")) {
$dbh->{PrintError} = $print_error;
$dbh->do("CREATE TABLE `browser` (
SetVersion ($DBversion);
}
-$DBversion = "3.00.00.083";
-if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do( qq(UPDATE systempreferences SET value='local' where variable='yuipath' and value like "%/intranet-tmpl/prog/%"));
- print "Upgrade to $DBversion done (Changing yuipath behaviour in managing a local value)\n";
- SetVersion ($DBversion);
+$DBversion = "3.00.00.083";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do( qq(UPDATE systempreferences SET value='local' where variable='yuipath' and value like "%/intranet-tmpl/prog/%"));
+ print "Upgrade to $DBversion done (Changing yuipath behaviour in managing a local value)\n";
+ SetVersion ($DBversion);
}
$DBversion = "3.00.00.084";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('GoogleJackets','0','if ON, displays jacket covers from Google Books API',NULL,'YesNo')");
print "Upgrade to $DBversion done (add new sysprefs)\n";
SetVersion ($DBversion);
-}
+}
$DBversion = "3.00.00.085";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
CONSTRAINT `branch_borrower_circ_rules_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
- ");
+ ");
$dbh->do("
CREATE TABLE `default_borrower_circ_rules` (
`categorycode` VARCHAR(10) NOT NULL,
CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
- ");
+ ");
$dbh->do("
CREATE TABLE `default_branch_circ_rules` (
`branchcode` VARCHAR(10) NOT NULL,
CONSTRAINT `default_branch_circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
- ");
+ ");
$dbh->do("
CREATE TABLE `default_circ_rules` (
`singleton` enum('singleton') NOT NULL default 'singleton',
('circulation','EVENT','Upcoming Library Event','Upcoming Library Event','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThis is a reminder of an upcoming library event in which you have expressed interest.');
END_SQL
- my @sql_scripts = (
+ my @sql_scripts = (
'installer/data/mysql/en/mandatory/message_transport_types.sql',
'installer/data/mysql/en/optional/sample_notices_message_attributes.sql',
'installer/data/mysql/en/optional/sample_notices_message_transports.sql',
`item_level_request` tinyint(4) NOT NULL default 0,
PRIMARY KEY `itemnumber` (`itemnumber`),
KEY `bib_branch` (`biblionumber`, `source_branchcode`),
- CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`)
+ CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`)
REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`)
+ CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`)
REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`)
+ CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`)
REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`)
+ CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`)
REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
");
UPDATE issues iss
SET issuedate = (
SELECT max(datetime)
- FROM statistics
+ FROM statistics
WHERE type = 'issue'
AND itemnumber = iss.itemnumber
AND borrowernumber = iss.borrowernumber
)
WHERE issuedate IS NULL;
- ");
+ ");
$dbh->do("ALTER TABLE statistics DROP KEY tmp_stats");
# default to last renewal date
VALUES (
'BranchTransferLimitsType', 'ccode', 'itemtype|ccode', 'When using branch transfer limits, choose whether to limit by itemtype or collection code.', 'Choice'
);");
-
+
print "Upgrade to $DBversion done ( Updated table for Branch Transfer Limits)\n";
SetVersion ($DBversion);
}
MODIFY borrowernumber int(11) default NULL,
ADD categorycode varchar(10) default NULL AFTER borrowernumber,
ADD KEY `categorycode` (`categorycode`),
- ADD CONSTRAINT `borrower_message_preferences_ibfk_3`
- FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
+ ADD CONSTRAINT `borrower_message_preferences_ibfk_3`
+ FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
ON DELETE CASCADE ON UPDATE CASCADE
/);
print "Upgrade to $DBversion done (DB changes to allow patron category defaults for messaging preferences)\n";
$DBversion = "3.01.00.038";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
# update branches table
- #
+ #
$dbh->do("ALTER TABLE branches ADD `branchzip` varchar(25) default NULL AFTER `branchaddress3`");
$dbh->do("ALTER TABLE branches ADD `branchcity` mediumtext AFTER `branchzip`");
$dbh->do("ALTER TABLE branches ADD `branchcountry` text AFTER `branchcity`");
$DBversion = "3.01.00.046";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
# update borrowers table
- #
+ #
$dbh->do("ALTER TABLE borrowers ADD `country` text AFTER zipcode");
$dbh->do("ALTER TABLE borrowers ADD `B_country` text AFTER B_zipcode");
$dbh->do("ALTER TABLE deletedborrowers ADD `country` text AFTER zipcode");
SetVersion ($DBversion);
}
-$DBversion = '3.01.00.064';
-if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do('ALTER TABLE issuingrules DROP FOREIGN KEY issuingrules_ibfk_1');
- $dbh->do('ALTER TABLE issuingrules DROP FOREIGN KEY issuingrules_ibfk_2');
- SetVersion ($DBversion);
- print "Upgrade to $DBversion done (deleting contraints in issuingrules)\n";
-}
-
$DBversion = '3.01.00.065';
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do('ALTER TABLE issuingrules ADD COLUMN `renewalsallowed` smallint(6) NOT NULL default "0" AFTER `issuelength`;');
$sth->execute();
my $sthupd = $dbh->prepare("UPDATE issuingrules SET renewalsallowed = ? WHERE itemtype = ?");
-
+
while(my $row = $sth->fetchrow_hashref){
$sthupd->execute($row->{renewalsallowed}, $row->{itemtype});
}
-
+
$dbh->do('ALTER TABLE itemtypes DROP COLUMN `renewalsallowed`;');
-
+
SetVersion ($DBversion);
print "Upgrade to $DBversion done (Moving allowed renewals from itemtypes to issuingrule)\n";
}
my $maxreserves = C4::Context->preference('maxreserves');
$sth = $dbh->prepare('UPDATE issuingrules SET reservesallowed = ?;');
$sth->execute($maxreserves);
-
+
$dbh->do('DELETE FROM systempreferences WHERE variable = "maxreserves";');
$dbh->do("INSERT INTO systempreferences (variable,value, options, explanation, type) VALUES('ReservesControlBranch','PatronLibrary','ItemHomeLibrary|PatronLibrary','Branch checked for members reservations rights','Choice')");
-
+
SetVersion ($DBversion);
print "Upgrade to $DBversion done (Moving max allowed reserves from system preference to issuingrule)\n";
}
$dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ( 13, 'batchmod', 'Perform batch modification of items')");
$dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ( 13, 'batchdel', 'Perform batch deletion of items')");
print "Upgrade to $DBversion done (added permissions for batch modification and deletion)\n";
+ SetVersion ($DBversion);
}
$DBversion = "3.01.00.068";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("ALTER TABLE issuingrules ADD
- COLUMN `finedays` int(11) default NULL AFTER `fine`,
- COLUMN `renewalsallowed` smallint(6) default NULL,
- COLUMN `reservesallowed` smallint(6) default NULL,
- ");
- my $sth = $dbh->prepare("SELECT itemtype, renewalsallowed FROM itemtypes");
- $sth->execute();
- my $sthupd = $dbh->prepare("UPDATE issuingrules SET renewalsallowed = ? WHERE itemtype = ?");
- while(my $row = $sth->fetchrow_hashref){
- $sthupd->execute($row->{renewalsallowed}, $row->{itemtype});
- }
- $dbh->do('ALTER TABLE itemtypes DROP COLUMN `renewalsallowed`;');
- print "Upgrade done (Adding finedays renewalsallowed, and reservesallowed fields in issuingrules table)\n";
+ $dbh->do("ALTER TABLE issuingrules ADD COLUMN `finedays` int(11) default NULL AFTER `fine` ");
+ print "Upgrade done (Adding finedays in issuingrules table)\n";
+ SetVersion ($DBversion);
}
`contractdescription` mediumtext,
`booksellerid` int(11) not NULL,
PRIMARY KEY (`contractnumber`),
- CONSTRAINT `booksellerid_fk1` FOREIGN KEY (`booksellerid`)
+ CONSTRAINT `booksellerid_fk1` FOREIGN KEY (`booksellerid`)
REFERENCES `aqbooksellers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
END_SQL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
$dbh->do("ALTER TABLE aqbasket ADD COLUMN `basketgroupid` int(11)");
$dbh->do("ALTER TABLE aqbasket ADD FOREIGN KEY (`basketgroupid`) REFERENCES `aqbasketgroups` (`id`) ON UPDATE CASCADE ON DELETE SET NULL");
- $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('pdfformat','pdfformat::example','Controls what script is used for printing (basketgroups)','','free')");
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('pdfformat','pdfformat::layout2pages','Controls what script is used for printing (basketgroups)','','free')");
print "Upgrade to $DBversion done (adding basketgroups)\n";
SetVersion ($DBversion);
}
# `aqbudgetid` tinyint(4) NOT NULL auto_increment,
# `branchcode` varchar(10) default NULL,
DropAllForeignKeys('aqbudget');
- #$dbh->do("drop table aqbudget;");
+ #$dbh->do("drop table aqbudget;");
$dbh->do(<<BUDGETNAME);
-ALTER TABLE aqbudget RENAME`aqbudgets`
+ALTER TABLE aqbudget RENAME `aqbudgets`
BUDGETNAME
my $maxbudgetid=$dbh->selectcol_arrayref(<<IDsBUDGET);
-SELECT MAX(aqbudgetid) from aqbudgets
+SELECT MAX(aqbudgetid) from aqbudgets
IDsBUDGET
+$$maxbudgetid[0] = 0 if !$$maxbudgetid[0];
+
$dbh->do(<<BUDGETAUTOINCREMENT);
ALTER TABLE `aqbudgets` AUTO_INCREMENT=$$maxbudgetid[0]
BUDGETAUTOINCREMENT
$dbh->do(<<BUDGETS);
-ALTER TABLE `aqbudgets`
+ALTER TABLE `aqbudgets`
CHANGE COLUMN aqbudgetid `budget_id` int(11) NOT NULL AUTO_INCREMENT,
CHANGE COLUMN branchcode `budget_branchcode` varchar(10) default NULL,
CHANGE COLUMN budgetamount `budget_amount` decimal(28,6) NOT NULL default '0.00',
BUDGETS
$dbh->do(<<BUDGETCONSTRAINTS);
-ALTER TABLE `aqbudgets`
+ALTER TABLE `aqbudgets`
ADD CONSTRAINT `aqbudgets_ifbk_1` FOREIGN KEY (`budget_period_id`) REFERENCES `aqbudgetperiods` (`budget_period_id`) ON DELETE CASCADE ON UPDATE CASCADE
BUDGETCONSTRAINTS
# $dbh->do(<<BUDGETPKDROP);
-#ALTER TABLE `aqbudgets`
+#ALTER TABLE `aqbudgets`
# DROP PRIMARY KEY
#BUDGETPKDROP
# $dbh->do(<<BUDGETPKADD);
-#ALTER TABLE `aqbudgets`
+#ALTER TABLE `aqbudgets`
# ADD PRIMARY KEY budget_id
#BUDGETPKADD
my $query_period= $dbh->prepare(qq|SELECT budget_period_id from aqbudgetperiods where budget_period_startdate=? and budget_period_enddate=?|);
my $query_bookfund= $dbh->prepare(qq|SELECT * from aqbookfund where bookfundid=?|);
my $selectbudgets=$dbh->prepare(qq|SELECT * from aqbudgets|);
- my $updatebudgets=$dbh->prepare(qq|UPDATE aqbudgets SET budget_period_id= ? , budget_name=?, budget_branchcode=? where budget_id=?|);
+ my $updatebudgets=$dbh->prepare(qq|UPDATE aqbudgets SET budget_period_id= ? , budget_name=?, budget_branchcode=? where budget_id=?|);
$selectbudgets->execute;
while (my $databudget=$selectbudgets->fetchrow_hashref){
- $query_period->execute ($$databudget{startdate},$$databudget{enddate});
+ $query_period->execute ($$databudget{startdate},$$databudget{enddate});
my ($budgetperiodid)=$query_period->fetchrow;
- $query_bookfund->execute ($$databudget{budget_code});
+ $query_bookfund->execute ($$databudget{budget_code});
my $databf=$query_bookfund->fetchrow_hashref;
my $branchcode=$$databudget{budget_branchcode}||$$databf{branchcode};
$updatebudgets->execute($budgetperiodid,$$databf{bookfundname},$branchcode,$$databudget{budget_id});
}
$dbh->do(<<BUDGETDROPDATES);
-ALTER TABLE `aqbudgets`
+ALTER TABLE `aqbudgets`
DROP startdate,
- DROP enddate,
- DROP bookfundid
+ DROP enddate
BUDGETDROPDATES
- $dbh->do("DROP TABLE aqbookfund ");
$dbh->do("DROP TABLE IF EXISTS `aqbudgets_planning` ");
$dbh->do("CREATE TABLE `aqbudgets_planning` (
CONSTRAINT `aqbudgets_planning_ifbk_1` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
- $dbh->do("ALTER TABLE `aqorders`
+ $dbh->do("ALTER TABLE `aqorders`
ADD COLUMN `budget_id` tinyint(4) NOT NULL,
ADD COLUMN `budgetgroup_id` int(11) NOT NULL,
ADD COLUMN `sort1_authcat` varchar(10) default NULL,
ADD COLUMN `sort2_authcat` varchar(10) default NULL" );
+ # cannot do until aqorderbreakdown removed
+# $dbh->do("DROP TABLE aqbookfund ");
$DBversion = "3.01.00.083";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do(qq|
+ $dbh->do(qq|
CREATE TABLE `aqorders_items` (
`ordernumber` int(11) NOT NULL,
`itemnumber` int(11) NOT NULL,
);
$dbh->do(qq| DROP TABLE aqorderbreakdown |);
+ $dbh->do('DROP TABLE aqbookfund');
print "Upgrade to $DBversion done (New aqorders_items table for acqui)\n";
SetVersion ($DBversion);
}
$DBversion = "3.01.00.086";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do(<<SUGGESTIONS);
-ALTER table suggestions
+ALTER table suggestions
ADD budgetid INT(11),
ADD branchcode VARCHAR(10) default NULL,
ADD acceptedby INT(11) default NULL,
SetVersion ($DBversion);
}
-$DBversion = "3.01.00.089";
-if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do( qq# ALTER TABLE authorised_values ADD COLUMN `lib_opac` VARCHAR(80) default NULL AFTER `lib` #);
-
- print "Upgrade to $DBversion done (opac authorised values added)\n";
- SetVersion ($DBversion);
-}
-
$DBversion = "3.01.00.090";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("
UPDATE `systempreferences` SET `options` = 'holdings|serialcollection|subscriptions'
- WHERE `systempreferences`.`variable` = 'opacSerialDefaultTab' LIMIT 1
+ WHERE `systempreferences`.`variable` = 'opacSerialDefaultTab' LIMIT 1
");
print "Upgrade to $DBversion done (opac-detail default tag updated)\n";
$dbh->do(qq{
ALTER TABLE aqbasketgroups ADD deliveryplace VARCHAR(10) default NULL, ADD deliverycomment VARCHAR(255) default NULL;
});
-
+
print "Upgrade to $DBversion done (adding deliveryplace deliverycomment to basketgroups)\n";
SetVersion ($DBversion);
}
});
if (C4::Context->preference('marcflavour') eq 'UNIMARC'){
$dbh->do(qq{
- INSERT IGNORE INTO marc_subfield_structure (frameworkcode,tagfield, tagsubfield, tab, repeatable, mandatory,kohafield)
+ INSERT IGNORE INTO marc_subfield_structure (frameworkcode,tagfield, tagsubfield, tab, repeatable, mandatory,kohafield)
SELECT DISTINCT (frameworkcode),995,"j",10,0,0,"items.stocknumber" from biblio_framework ;
});
#Previously, copynumber was used as stocknumber
$dbh->do(qq{
UPDATE items set copynumber=NULL;
});
- }
+ }
print "Upgrade to $DBversion done (stocknumber field added)\n";
SetVersion ($DBversion);
}
$dbh->do(qq{
ALTER TABLE aqbasketgroups ADD billingplace VARCHAR(10) NOT NULL AFTER deliverycomment;
});
-
+
print "Upgrade to $DBversion done (Adding billingplace to aqbasketgroups)\n";
SetVersion ($DBversion);
}
$dbh->do(qq{
ALTER TABLE auth_subfield_structure MODIFY frameworkcode VARCHAR(10) NULL;
});
-
+
print "Upgrade to $DBversion done (changing frameworkcode length in auth_subfield_structure)\n";
SetVersion ($DBversion);
}
(9, 'edit_catalogue', 'Edit catalogue'),
(9, 'fast_cataloging', 'Fast cataloging')
});
-
+
print "Upgrade to $DBversion done (granular permissions for cataloging added)\n";
SetVersion ($DBversion);
}
SetVersion ($DBversion);
}
-$DBversion = "3.01.00.100";
+$DBversion = "3.01.00.101";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("INSERT INTO `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) VALUES ('casAuthentication', '1', '', 'Enable or disable CAS authentication', 'YesNo'), ('casLogout', '1', '', 'Does a logout from Koha should also log out of CAS ?', 'YesNo'), ('casServerUrl', 'https://localhost:8443/cas', '', 'URL of the cas server', 'Free')");
- print "Upgrade done (added CAS authentication system preferences)\n";
+ $dbh->do(
+ "INSERT INTO systempreferences
+ (variable, value, options, explanation, type)
+ VALUES (
+ 'OverdueNoticeBcc', '', '',
+ 'Email address to Bcc outgoing notices sent by email',
+ 'free')
+ ");
+ print "Upgrade to $DBversion done (added OverdueNoticeBcc system preferences)\n";
SetVersion ($DBversion);
}
-
-$DBversion = "XXX";
+$DBversion = "3.01.00.102";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES (9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)')");
+ $dbh->do(
+ "UPDATE permissions set description = 'Edit catalog (Modify bibliographic/holdings data)' where module_bit = 9 and code = 'edit_catalogue'"
+ );
print "Upgrade done (fixed spelling error in edit_catalogue permission)\n";
SetVersion ($DBversion);
}
-$DBversion = "XXX";
+$DBversion = "3.01.00.103";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES (13, 'moderate_tags', 'Moderate patron tags')");
print "Upgrade done (adding patron permissions for tags tool)\n";
SetVersion ($DBversion);
}
+$DBversion = "3.01.00.104";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+
+ my ($maninv_count, $borrnotes_count);
+ eval { $maninv_count = $dbh->do("SELECT 1 FROM authorised_values WHERE category='MANUAL_INV'"); };
+ if ($maninv_count == 0) {
+ $dbh->do("INSERT INTO authorised_values (category,authorised_value,lib) VALUES ('MANUAL_INV','Copier Fees','.25')");
+ }
+ eval { $borrnotes_count = $dbh->do("SELECT 1 FROM authorised_values WHERE category='BOR_NOTES'"); };
+ if ($borrnotes_count == 0) {
+ $dbh->do("INSERT INTO authorised_values (category,authorised_value,lib) VALUES ('BOR_NOTES','ADDR','Address Notes')");
+ }
+
+ $dbh->do("INSERT INTO authorised_values (category,authorised_value,lib) VALUES ('LOC','CART','Book Cart')");
+ $dbh->do("INSERT INTO authorised_values (category,authorised_value,lib) VALUES ('LOC','PROC','Processing Center')");
+
+ print "Upgrade to $DBversion done ( add defaults to authorized values for MANUAL_INV and BOR_NOTES and add new default LOC authorized values for shelf to cart processing )\n";
+ SetVersion ($DBversion);
+}
+
+
+$DBversion = "3.01.00.105";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("
+ CREATE TABLE `collections` (
+ `colId` int(11) NOT NULL auto_increment,
+ `colTitle` varchar(100) NOT NULL default '',
+ `colDesc` text NOT NULL,
+ `colBranchcode` varchar(4) default NULL COMMENT 'branchcode for branch where item should be held.',
+ PRIMARY KEY (`colId`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ ");
+
+ $dbh->do("
+ CREATE TABLE `collections_tracking` (
+ `ctId` int(11) NOT NULL auto_increment,
+ `colId` int(11) NOT NULL default '0' COMMENT 'collections.colId',
+ `itemnumber` int(11) NOT NULL default '0' COMMENT 'items.itemnumber',
+ PRIMARY KEY (`ctId`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ ");
+ $dbh->do("
+ INSERT INTO permissions (module_bit, code, description)
+ VALUES ( 13, 'rotating_collections', 'Manage Rotating collections')" );
+ print "Upgrade to $DBversion done (added collection and collection_tracking tables for rotating collections functionality)\n";
+ SetVersion ($DBversion);
+}
+$DBversion = "3.01.00.106";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ( 'OpacAddMastheadLibraryPulldown', '0', '', 'Adds a pulldown menu to select the library to search on the opac masthead.', 'YesNo' )");
+ print "Upgrade done (added OpacAddMastheadLibraryPulldown system preferences)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.107';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ my $upgrade_script = C4::Context->config("intranetdir") . "/installer/data/mysql/patroncards_upgrade.pl";
+ system("perl $upgrade_script");
+ print "Upgrade to $DBversion done (Migrated labels and patroncards tables and data to new schema.)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.108';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do(qq{
+ ALTER TABLE `export_format` ADD `csv_separator` VARCHAR( 2 ) NOT NULL AFTER `marcfields` ,
+ ADD `field_separator` VARCHAR( 2 ) NOT NULL AFTER `csv_separator` ,
+ ADD `subfield_separator` VARCHAR( 2 ) NOT NULL AFTER `field_separator`
+ });
+ print "Upgrade done (added separators for csv export)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.109";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do(qq{
+ ALTER TABLE `export_format` ADD `encoding` VARCHAR(255) NOT NULL AFTER `subfield_separator`
+ });
+ print "Upgrade done (added encoding for csv export)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.110';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do('ALTER TABLE `categories` ADD COLUMN `enrolmentperioddate` DATE NULL DEFAULT NULL AFTER `enrolmentperiod`');
+ print "Upgrade done (Add enrolment period date support)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.111';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ print "Upgrade done (mark DBrev for 3.2-alpha release)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.112';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ('SpineLabelShowPrintOnBibDetails', '0', '', 'If turned on, a \"Print Label\" link will appear for each item on the bib details page in the staff interface.', 'YesNo');");
+ print "Upgrade done ( added Show Spine Label Printer on Bib Items Details preferences )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.113';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ my $value = C4::Context->preference("XSLTResultsDisplay");
+ $dbh->do(
+ "INSERT INTO systempreferences (variable,value,type)
+ VALUES('OPACXSLTResultsDisplay',$value,'YesNo')");
+ $value = C4::Context->preference("XSLTDetailsDisplay");
+ $dbh->do(
+ "INSERT INTO systempreferences (variable,value,type)
+ VALUES('OPACXSLTDetailsDisplay',$value,'YesNo')");
+ print "Upgrade done (added two new syspref: OPACXSLTResultsDisplay and OPACXSLTDetailDisplay). You may have to go in Admin > System preference to tweak XSLT related syspref both in OPAC and Search tabs.\n ";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.114';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type)VALUES('AutoSelfCheckAllowed', '0', 'For corporate and special libraries which want web-based self-check available from any PC without the need for a manual staff login. Most libraries will want to leave this turned off. If on, requires self-check ID and password to be entered in AutoSelfCheckID and AutoSelfCheckPass sysprefs.', '', 'YesNo')");
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AutoSelfCheckID','','Staff ID with circulation rights to be used for automatic web-based self-check. Only applies if AutoSelfCheckAllowed syspref is turned on.','','free')");
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AutoSelfCheckPass','','Password to be used for automatic web-based self-check. Only applies if AutoSelfCheckAllowed syspref is turned on.','','free')");
+ print "Upgrade to $DBversion done ( Added AutoSelfCheckAllowed, AutoSelfCheckID, and AutoShelfCheckPass system preference )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.115';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do('UPDATE aqorders SET quantityreceived = 0 WHERE quantityreceived IS NULL');
+ $dbh->do('ALTER TABLE aqorders MODIFY COLUMN quantityreceived smallint(6) NOT NULL DEFAULT 0');
+ print "Upgrade to $DBversion done ( Default aqorders.quantityreceived to 0 )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.116';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ if (C4::Context->preference('OrderPdfFormat') eq 'pdfformat::example'){
+ $dbh->do("UPDATE `systempreferences` set value='pdfformat::layout2pages' WHERE variable='OrderPdfFormat'");
+ }
+ print "Upgrade done ( corrected default OrderPdfFormat value if still set wrong )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.117';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE language_rfc4646_to_iso639 SET iso639_2_code = 'por' WHERE rfc4646_subtag='pt' ");
+ print "Upgrade to $DBversion done (corrected ISO 639-2 language code for Portuguese)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.118';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ my ($count) = $dbh->selectrow_array("SELECT count(*) FROM information_schema.columns
+ WHERE table_name = 'aqbudgets_planning'
+ AND column_name = 'display'");
+ if ($count < 1) {
+ $dbh->do("ALTER TABLE aqbudgets_planning ADD COLUMN display tinyint(1) DEFAULT 1");
+ }
+ print "Upgrade to $DBversion done (bug 4203: add display column to aqbudgets_planning if missing)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.119';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ eval{require Locale::Currency::Format};
+ if (!$@) {
+ print "Upgrade to $DBversion done (Locale::Currency::Format installed.)\n";
+ SetVersion ($DBversion);
+ }
+ else {
+ print "Upgrade to $DBversion done.\n";
+ print "NOTICE: The Locale::Currency::Format package is not installed on your system or not found in \@INC.\nThis dependency is required in order to include fine information in overdue notices.\nPlease ask your system administrator to install this package.\n";
+ SetVersion ($DBversion);
+ }
+}
+
+$DBversion = '3.01.00.120';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do(q{
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('soundon','0','Enable circulation sounds during checkin and checkout in the staff interface. Not supported by all web browsers yet.','','YesNo');
+});
+ print "Upgrade to $DBversion done (bug 1080: add soundon system preference for circulation sounds)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.121';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE `reserves` ADD `expirationdate` DATE DEFAULT NULL");
+ $dbh->do("ALTER TABLE `reserves` ADD `lowestPriority` tinyint(1) NOT NULL");
+ $dbh->do("ALTER TABLE `old_reserves` ADD `expirationdate` DATE DEFAULT NULL");
+ $dbh->do("ALTER TABLE `old_reserves` ADD `lowestPriority` tinyint(1) NOT NULL");
+ print "Upgrade to $DBversion done ( Added Additional Fields to Reserves tables )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.122';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do(q{
+ INSERT INTO systempreferences (variable,value,explanation,options,type)
+ VALUES ('OAI-PMH:ConfFile', '', 'If empty, Koha OAI Server operates in normal mode, otherwise it operates in extended mode.','','File');
+});
+ print "Upgrade to $DBversion done. — Add a new system preference OAI-PMF:ConfFile\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.123";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `permissions` (`module_bit`, `code`, `description`) VALUES
+ (6, 'place_holds', 'Place holds for patrons')");
+ $dbh->do("INSERT INTO `permissions` (`module_bit`, `code`, `description`) VALUES
+ (6, 'modify_holds_priority', 'Modify holds priority')");
+ $dbh->do("UPDATE `userflags` SET `flagdesc` = 'Place and modify holds for patrons' WHERE `flag` = 'reserveforothers'");
+ print "Upgrade to $DBversion done (Add granular permission for holds modification and update description of reserveforothers permission)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.124';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("
+ INSERT INTO `letter` (module, code, name, title, content) VALUES('reserves', 'HOLDPLACED', 'Hold Placed on Item', 'Hold Placed on Item','A hold has been placed on the following item : <<title>> (<<biblionumber>>) by the user <<firstname>> <<surname>> (<<cardnumber>>).');
+ ");
+ print "Upgrade to $DBversion done (bug 3242: add HOLDPLACED letter template, which is used when emailLibrarianWhenHoldIsPlaced is enabled)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.125';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("
+ INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanation` , `type` ) VALUES ( 'PrintNoticesMaxLines', '0', '', 'If greater than 0, sets the maximum number of lines an overdue notice will print. If the number of items is greater than this number, the notice will end with a warning asking the borrower to check their online account for a full list of overdue items.', 'Integer' );
+ ");
+ $dbh->do("
+ INSERT INTO message_transport_types (message_transport_type) values ('print');
+ ");
+ print "Upgrade to $DBversion done (bug 3482: Printable hold and overdue notices)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.126";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ILS-DI','0','Enable ILS-DI services. See http://your.opac.name/cgi-bin/koha/ilsdi.pl for online documentation.','','YesNo')");
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ILS-DI:AuthorizedIPs','127.0.0.1','A comma separated list of IP addresses authorized to access the web services.','','free')");
+
+ print "Upgrade to $DBversion done (Adding ILS-DI updates and ILS-DI:Authorized_IPs)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.127';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("ALTER TABLE messages CHANGE branchcode branchcode varchar(10);");
+ print "Upgrade to $DBversion done (bug 4190: messages in patron account did not work with branchcodes > 4)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.128';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do('CREATE INDEX budget_id ON aqorders (budget_id );');
+ print "Upgrade to $DBversion done (bug 4331: index orders by budget_id)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.129";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE `permissions` SET `code` = 'items_batchdel' WHERE `permissions`.`module_bit` =13 AND `permissions`.`code` = 'batchdel' LIMIT 1 ;");
+ $dbh->do("UPDATE `permissions` SET `code` = 'items_batchmod' WHERE `permissions`.`module_bit` =13 AND `permissions`.`code` = 'batchmod' LIMIT 1 ;");
+ print "Upgrade done (Change permissions names for item batch modification / deletion)\n";
+
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.130";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE reserves SET expirationdate = NULL WHERE expirationdate = '0000-00-00'");
+ print "Upgrade done (change reserves.expirationdate values of 0000-00-00 to NULL (bug 1532)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.131";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do(q{
+INSERT IGNORE INTO message_transport_types (message_transport_type) VALUES ('print'),('feed');
+ });
+ print "Upgrade to $DBversion done (adding print and feed message transport types)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.132";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do(q{
+ ALTER TABLE language_descriptions ADD INDEX subtag_type_lang (subtag, type, lang);
+ });
+ print "Upgrade to $DBversion done (Adding index to language_descriptions table)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.133';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OverduesBlockCirc','noblock','When checking out an item should overdues block checkout, generate a confirmation dialogue, or allow checkout','noblock|confirmation|block','Choice')");
+ print "Upgrade to $DBversion done (bug 4405: added OverduesBlockCirc syspref to control whether circulation is blocked if a borrower has overdues)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.134';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('DisplayMultiPlaceHold','1','Display the ability to place multiple holds or not','','YesNo')");
+ print "Upgrade to $DBversion done adding syspref DisplayMultiPlaceHold to control whether multiple holds can be placed from the search results page";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.135';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("
+ INSERT INTO `letter` (module, code, name, title, content) VALUES
+('reserves', 'HOLD_PRINT', 'Hold Available for Pickup (print notice)', 'Hold Available for Pickup (print notice)', '<<branches.branchname>>\r\n<<branches.branchaddress1>>\r\n<<branches.branchaddress2>>\r\n\r\n\r\nChange Service Requested\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>>\r\n<<borrowers.address>>\r\n<<borrowers.city>> <<borrowers.zipcode>>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> <<borrowers.cardnumber>>\r\n\r\nYou have a hold available for pickup as of <<reserves.waitingdate>>:\r\n\r\nTitle: <<biblio.title>>\r\nAuthor: <<biblio.author>>\r\nCopy: <<items.copynumber>>\r\n')
+");
+ print "Upgrade to $DBversion done (bug 4377: added HOLD_PRINT message template)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.136';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do(qq{
+INSERT INTO permissions (module_bit, code, description) VALUES
+ ( 9, 'edit_items', 'Edit Items');});
+ print "Upgrade to $DBversion done Adding a new permission to edit items";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.137";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("
+ INSERT INTO permissions (module_bit, code, description) VALUES
+ (15, 'check_expiration', 'Check the expiration of a serial'),
+ (15, 'claim_serials', 'Claim missing serials'),
+ (15, 'create_subscription', 'Create a new subscription'),
+ (15, 'delete_subscription', 'Delete an existing subscription'),
+ (15, 'edit_subscription', 'Edit an existing subscription'),
+ (15, 'receive_serials', 'Serials receiving'),
+ (15, 'renew_subscription', 'Renew a subscription'),
+ (15, 'routing', 'Routing');
+ ");
+ print "Upgrade to $DBversion done (adding granular permissions for serials)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.01.00.138";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("DELETE FROM systempreferences WHERE variable = 'GranularPermissions'");
+ print "Upgrade to $DBversion done (bug 4896: removing GranularPermissions syspref; use of granular permissions is now the default)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.139';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("ALTER TABLE message_attributes CHANGE message_name message_name varchar(40);");
+ print "Upgrade to $DBversion done (bug 3682: change message_name from varchar(20) to varchar(40))\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.140';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do("UPDATE systempreferences SET value = '0' WHERE variable = 'TagsModeration' AND value is NULL");
+ print "Upgrade to $DBversion done (bug 4312 TagsModeration changed from NULL to 0)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.141';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do(qq{DELETE FROM message_attributes WHERE message_attribute_id=3;});
+ $dbh->do(qq{DELETE FROM letter WHERE code='EVENT' AND title='Upcoming Library Event';});
+ print "Upgrade to $DBversion done Remove upcoming events messaging option (bug 2434)";
+ SetVersion ($DBversion);
+}
+
+$DBversion = '3.01.00.142';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+ $dbh->do(qq{DELETE FROM message_transports WHERE message_attribute_id=3;});
+ print "Upgrade to $DBversion done Remove upcoming events messaging option part 2 (bug 2434)";
+ SetVersion ($DBversion);
+}
+
+
=item DropAllForeignKeys($table)
Drop all foreign keys of the table $table