$DBversion = "3.23.00.050";
if ( CheckVersion($DBversion) ) {
- use Koha::SearchMarcMaps;
- use Koha::SearchFields;
- use Koha::SearchEngine::Elasticsearch;
$dbh->do(q|INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type)
VALUES('SearchEngine','Zebra','Choose Search Engine','','Choice')|);
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
|);
- # Insert default mappings
- Koha::SearchEngine::Elasticsearch->reset_elasticsearch_mappings;
-
-print "Upgrade to $DBversion done (Bug 12478 - Elasticsearch support for Koha)\n";
+ print "WARNING: If you plan to use Elasticsearch you should go to 'Home › Administration › Search engine configuration' and reset the mappings\n";
+ print "Upgrade to $DBversion done (Bug 12478 - Elasticsearch support for Koha)\n";
SetVersion($DBversion);
- }
+}
$DBversion = "3.23.00.051";
INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES ('UpdateItemWhenLostFromHoldList','',NULL,'This is a list of values to update an item when it is marked as lost from the holds to pull screen','Free');
} );
$dbh->do( q{
- UPDATE systempreferences SET options="batchmod|moredetail|cronjob|additem|pendingreserves", value="batchmod|moredetail|cronjob|additem|pendingreserves" WHERE variable="MarkLostItemsAsReturned";
+ UPDATE systempreferences SET options="batchmod|moredetail|cronjob|additem|pendingreserves" WHERE variable="MarkLostItemsAsReturned";
} );
SetVersion( $DBversion );
CREATE TABLE `stockrotationrotas` (
`rota_id` int(11) auto_increment, -- Stockrotation rota ID
`title` varchar(100) NOT NULL, -- Title for this rota
- `description` text NOT NULL default '', -- Description for this rota
+ `description` text NOT NULL, -- Description for this rota
`cyclical` tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
`active` tinyint(1) NOT NULL default 0, -- Is this rota currently active?
PRIMARY KEY (`rota_id`),
SetVersion($DBversion);
}
+$DBversion = '18.06.00.044';
+if( CheckVersion( $DBversion ) ) {
+ unless( column_exists( 'creator_batches', 'description' ) ) {
+ $dbh->do(q|ALTER TABLE creator_batches ADD description mediumtext default NULL AFTER batch_id|);
+ }
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 15766: Add column creator_batches.description)\n";
+}
+
+$DBversion = '18.06.00.045';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q(
+ INSERT IGNORE INTO message_transports
+ (message_attribute_id,message_transport_type,is_digest,letter_module,letter_code)
+ VALUES
+ (2, 'phone', 0, 'circulation', 'PREDUE'),
+ (2, 'phone', 1, 'circulation', 'PREDUEDGST'),
+ (4, 'phone', 0, 'reserves', 'HOLD')
+ ));
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 21639 - Add phone transports by default)\n";
+}
+
+$DBversion = '18.06.00.046';
+if( CheckVersion( $DBversion ) ) {
+ unless (TableExists('illcomments')) {
+ $dbh->do(q{
+ CREATE TABLE illcomments (
+ illcomment_id int(11) NOT NULL AUTO_INCREMENT, -- Unique ID of the comment
+ illrequest_id bigint(20) unsigned NOT NULL, -- ILL request number
+ borrowernumber integer DEFAULT NULL, -- Link to the user who made the comment (could be librarian, patron or ILL partner library)
+ comment text DEFAULT NULL, -- The text of the comment
+ timestamp timestamp DEFAULT CURRENT_TIMESTAMP, -- Date and time when the comment was made
+ PRIMARY KEY ( illcomment_id ),
+ CONSTRAINT illcomments_bnfk
+ FOREIGN KEY ( borrowernumber )
+ REFERENCES borrowers ( borrowernumber )
+ ON UPDATE CASCADE ON DELETE CASCADE,
+ CONSTRAINT illcomments_ifk
+ FOREIGN KEY (illrequest_id)
+ REFERENCES illrequests ( illrequest_id )
+ ON UPDATE CASCADE ON DELETE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+ });
+ }
+
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 18591 - Add comments to ILL requests)\n";
+}
+
+$DBversion = '18.06.00.047';
+if( CheckVersion( $DBversion ) ) {
+ # insert the authorized_value_category for CONTROL_NUM_SEQUENCE
+ $dbh->do( "INSERT IGNORE INTO authorised_value_categories values ('CONTROL_NUM_SEQUENCE');" );
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 19263 - Advanced Editor - Rancor - Add auto control number (001) widget)\n";
+}
+
+$DBversion = '18.06.00.048';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do( "ALTER TABLE stockrotationrotas CHANGE COLUMN description description text" );
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 21682 - Remove default on stockrotationrotas.description)\n";
+}
+
+$DBversion = '18.06.00.049';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ UPDATE letter SET content = REPLACE(content,"item.reason ne \'in-demand\'","item.reason != \'in-demand\'")
+ WHERE code="SR_SLIP";
+ });
+ print "Upgrade to $DBversion done (Bug 21656 - Stock Rotation Notice, Template Toolkit Syntax Correction)\n";
+ SetVersion( $DBversion );
+}
+
+$DBversion = '18.06.00.050';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES ('OpacHiddenItemsExceptions','',NULL,'List of borrower categories, separated by |, that can see items otherwise hidden by OpacHiddenItems','Textarea');
+ });
+ print "Upgrade to $DBversion done (Bug 14385 - Add OpacHiddenItemExceptions)\n";
+ SetVersion( $DBversion );
+}
+
+$DBversion = '18.06.00.051';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ INSERT IGNORE INTO `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) VALUES
+ ('AdlibrisCoversEnabled', '0', NULL, 'Display cover images in OPAC results and detail listing from Swedish retailer Adlibris.','YesNo'),
+ ('AdlibrisCoversURL', 'http://www.adlibris.com/se/organisationer/showimagesafe.aspx', NULL, 'Base URL for Adlibris cover image web service.', 'Free');
+ });
+ print "Upgrade to $DBversion done (Bug 8630 - Add covers from AdLibris to the OPAC and Intranet)\n";
+ SetVersion( $DBversion );
+}
+
+$DBversion = '18.06.00.052';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES
+ ( 3, 'manage_sysprefs', 'Manage global system preferences'),
+ ( 3, 'manage_libraries', 'Manage libraries and library groups'),
+ ( 3, 'manage_itemtypes', 'Manage item types'),
+ ( 3, 'manage_auth_values', 'Manage authorized values'),
+ ( 3, 'manage_patron_categories', 'Manage patron categories'),
+ ( 3, 'manage_patron_attributes', 'Manage extended patron attributes'),
+ ( 3, 'manage_transfers', 'Manage library transfer limits and transport cost matrix'),
+ ( 3, 'manage_item_circ_alerts', 'Manage item circulation alerts'),
+ ( 3, 'manage_cities', 'Manage cities and towns'),
+ ( 3, 'manage_marc_frameworks', 'Manage MARC bibliographic and authority frameworks'),
+ ( 3, 'manage_keywords2koha_mappings', 'Manage keywords to Koha mappings'),
+ ( 3, 'manage_classifications', 'Manage classification sources'),
+ ( 3, 'manage_matching_rules', 'Manage record matching rules'),
+ ( 3, 'manage_oai_sets', 'Manage OAI sets'),
+ ( 3, 'manage_item_search_fields', 'Manage item search fields'),
+ ( 3, 'manage_search_engine_config', 'Manage search engine configuration'),
+ ( 3, 'manage_search_targets', 'Manage Z39.50 and SRU server configuration'),
+ ( 3, 'manage_didyoumean', 'Manage Did you mean? configuration'),
+ ( 3, 'manage_column_config', 'Manage column configuration'),
+ ( 3, 'manage_sms_providers', 'Manage SMS cellular providers'),
+ ( 3, 'manage_audio_alerts', 'Manage audio alerts'),
+ ( 3, 'manage_usage_stats', 'Manage usage statistics settings');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_sysprefs' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_libraries' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_itemtypes' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_auth_values' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_patron_categories' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_patron_attributes' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_transfers' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_item_circ_alerts' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_cities' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_marc_frameworks' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_keywords2koha_mappings' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_classifications' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_matching_rules' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_oai_sets' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_item_search_fields' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_search_engine_config' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_search_targets' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_didyoumean' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_column_config' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_sms_providers' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_audio_alerts' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_usage_stats' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
+ });
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_item_search_fields' FROM borrowers WHERE flags & (1 << 2);
+ });
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 14391: Add granular permissions to the administration module)\n";
+}
+
+$DBversion = '18.06.00.053';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do( "INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES ('ItemsDeniedRenewal','','','This syspref allows to define custom rules for denying renewal of specific items.','Textarea')" );
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 15494 - Block renewals by arbitrary item values)\n";
+}
+
+$DBversion = '18.06.00.054';
+if( CheckVersion( $DBversion ) ) {
+ if( !column_exists( 'search_field', 'weight' ) ) {
+ $dbh->do( "ALTER TABLE `search_field` ADD COLUMN `weight` decimal(5,2) DEFAULT NULL AFTER `type`" );
+ }
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 18316 - Add column search_field.weight)\n";
+}
+
+$DBversion = '18.06.00.055';
+if( CheckVersion( $DBversion ) ) {
+ unless( column_exists( 'issuingrules', 'note' ) ) {
+ $dbh->do(q|ALTER TABLE `issuingrules` ADD `note` varchar(100) default NULL AFTER `article_requests`|);
+ }
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 12365: Add column issuingrules.note)\n";
+}
+
+$DBversion = '18.06.00.056';
+if( CheckVersion( $DBversion ) ) {
+
+ # All attributes we're potentially interested in
+ my $ff_req = $dbh->selectall_arrayref(
+ 'SELECT a.illrequest_id, a.type, a.value '.
+ 'FROM illrequests r, illrequestattributes a '.
+ 'WHERE r.illrequest_id = a.illrequest_id '.
+ 'AND r.backend = "FreeForm"',
+ { Slice => {} }
+ );
+
+ # Before we go any further, identify whether we've done
+ # this before, we test for the presence of "container_title"
+ # We stop as soon as we find one
+ foreach my $req(@{$ff_req}) {
+ if ($req->{type} eq 'container_title') {
+ warn "Upgrade already carried out";
+ }
+ }
+
+ # Transform into a hashref with the key of the request ID
+ my $requests = {};
+ foreach my $request(@{$ff_req}) {
+ my $id = $request->{illrequest_id};
+ if (!exists $requests->{$id}) {
+ $requests->{$id} = {};
+ }
+ $requests->{$id}->{$request->{type}} = $request->{value};
+ }
+
+ # Transform any article requests
+ my $transformed = {};
+ foreach my $id(keys %{$requests}) {
+ if (lc($requests->{$id}->{type}) eq 'article') {
+ $transformed->{$id} = $requests->{$id};
+ $transformed->{$id}->{type} = 'article';
+ $transformed->{$id}->{container_title} = $transformed->{$id}->{title}
+ if defined $transformed->{$id}->{title} &&
+ length $transformed->{$id}->{title} > 0;
+ $transformed->{$id}->{title} = $transformed->{$id}->{article_title}
+ if defined $transformed->{$id}->{article_title} &&
+ length $transformed->{$id}->{article_title} > 0;
+ $transformed->{$id}->{author} = $transformed->{$id}->{article_author}
+ if defined $transformed->{$id}->{article_author} &&
+ length $transformed->{$id}->{article_author} > 0;
+ $transformed->{$id}->{pages} = $transformed->{$id}->{article_pages}
+ if defined $transformed->{$id}->{article_pages} &&
+ length $transformed->{$id}->{article_pages} > 0;
+ }
+ }
+
+ # Now write back the transformed data
+ # Rather than selectively replace, we just remove all attributes we've
+ # transformed and re-write them
+ my @changed = keys %{$transformed};
+ my $changed_str = join(',', @changed);
+
+ if (scalar @changed > 0) {
+ my ($raise_error) = $dbh->{RaiseError};
+ $dbh->{AutoCommit} = 0;
+ $dbh->{RaiseError} = 1;
+ eval {
+ my $del = $dbh->do(
+ "DELETE FROM illrequestattributes ".
+ "WHERE illrequest_id IN ($changed_str)"
+ );
+ foreach my $reqid(keys %{$transformed}) {
+ my $attr = $transformed->{$reqid};
+ foreach my $key(keys %{$attr}) {
+ my $sth = $dbh->prepare(
+ 'INSERT INTO illrequestattributes '.
+ '(illrequest_id, type, value) '.
+ 'VALUES '.
+ '(?, ?, ?)'
+ );
+ $sth->execute(
+ $reqid,
+ $key,
+ $attr->{$key}
+ );
+ }
+ }
+ $dbh->commit;
+ };
+
+ if ($@) {
+ warn "Upgrade to $DBversion failed: $@\n";
+ eval { $dbh->rollback };
+ } else {
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 21079 - Unify metadata schema across backends)\n";
+ }
+
+ $dbh->{AutoCommit} = 1;
+ $dbh->{RaiseError} = $raise_error;
+ }
+
+}
+
+$DBversion = '18.06.00.057';
+if( CheckVersion( $DBversion ) ) {
+ # System preferences
+ $dbh->do(q{
+ INSERT IGNORE INTO `systempreferences` (`variable`,`value`,`explanation`,`options`,`type`)
+ VALUES ('showLastPatron','0','','If ON, enables the last patron feature in the intranet','YesNo');
+ });
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 20312 - Add showLastPatron systempreference)\n";
+}
+
+$DBversion = '18.06.00.058';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES
+ ('MarcFieldForCreatorId','',NULL,'Where to store the borrowernumber of the record''s creator','Free'),
+ ('MarcFieldForCreatorName','',NULL,'Where to store the name of the record''s creator','Free'),
+ ('MarcFieldForModifierId','',NULL,'Where to store the borrowernumber of the record''s last modifier','Free'),
+ ('MarcFieldForModifierName','',NULL,'Where to store the name of the record''s last modifier','Free')
+ });
+
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 19349 - Add system preferences MarcFieldForCreatorId, MarcFieldForCreatorName, MarcFieldForModifierId, MarcFieldForModifierName)\n";
+}
+
+$DBversion = '18.06.00.059';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type`) VALUES ('EmailSMSSendDriverFromAddress', '', '', 'Email SMS send driver from address override', 'Free');
+ });
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 20356 - Add EmailSMSSendDriverFromAddress system preference)\n";
+}
+
+$DBversion = '18.06.00.060';
+if( CheckVersion( $DBversion ) ) {
+ unless( TableExists( 'class_split_rules' ) ) {
+ $dbh->do(q|
+ CREATE TABLE class_split_rules (
+ class_split_rule varchar(10) NOT NULL default '',
+ description LONGTEXT,
+ split_routine varchar(30) NOT NULL default '',
+ split_regex varchar(255) NOT NULL default '',
+ PRIMARY KEY (class_split_rule),
+ UNIQUE KEY class_split_rule_idx (class_split_rule)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
+ |);
+
+ $dbh->do(q|
+ ALTER TABLE class_sources
+ ADD COLUMN class_split_rule varchar(10) NOT NULL default ''
+ AFTER class_sort_rule
+ |);
+ $dbh->do(q|
+ UPDATE class_sources
+ SET class_split_rule = class_sort_rule
+ |);
+
+ $dbh->do(q|
+ INSERT INTO class_split_rules(class_split_rule, description, split_routine)
+ VALUES
+ ('dewey', 'Default sorting rules for DDC', 'Dewey'),
+ ('lcc', 'Default sorting rules for LCC', 'LCC'),
+ ('generic', 'Generic call number sorting rules', 'Generic')
+ |);
+
+ $dbh->do(q|
+ ALTER TABLE class_sources
+ ADD CONSTRAINT class_source_ibfk_2 FOREIGN KEY (class_split_rule)
+ REFERENCES class_split_rules (class_split_rule)
+ |);
+ }
+
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 15836 - Add class_sort_rules.split_routine and split_regex)\n";
+}
+
+$DBversion = '18.06.00.061';
+if ( CheckVersion($DBversion) ) {
+ $dbh->do(q{
+ INSERT IGNORE INTO `systempreferences` (`variable`,`value`,`explanation`,`options`,`type`) VALUES
+ ('ElasticsearchIndexStatus_biblios', '0', 'Biblios index status', NULL, NULL),
+ ('ElasticsearchIndexStatus_authorities', '0', 'Authorities index status', NULL, NULL)
+ });
+ SetVersion($DBversion);
+ print "Upgrade to $DBversion done (Bug 19893 - Add elasticsearch index status preferences)\n";
+}
+
+$DBversion = '18.06.00.062';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do( "INSERT IGNORE INTO authorised_value_categories (category_name) VALUES ('PA_CLASS');");
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 21730: Add new authorised value category PA_CLASS)\n";
+}
+
+$DBversion = '18.11.00.000';
+if( CheckVersion( $DBversion ) ) {
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (18.11.00 release)\n";
+}
+
+$DBversion = '18.12.00.000';
+if( CheckVersion( $DBversion ) ) {
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (...and Steven!)\n";
+}
+
+$DBversion = '18.12.00.001';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ UPDATE permissions SET code = 'manage_didyoumean' WHERE code = 'manage_didyouean';
+ });
+ $dbh->do(q{
+ UPDATE user_permissions SET code = 'manage_didyoumean' WHERE code = 'manage_didyouean';
+ });
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion (Bug 21961 - Fix typo in manage_didyoumean permission)\n";
+}
+
# SEE bug 13068
# if there is anything in the atomicupdate, read and execute it.