Merge branch 'new/bug_5307' into kcmaster
[koha.git] / installer / data / mysql / kohastructure.sql
index a1bf59b..7a41617 100644 (file)
@@ -100,10 +100,12 @@ CREATE TABLE `authorised_values` (
   `category` varchar(10) NOT NULL default '',
   `authorised_value` varchar(80) NOT NULL default '',
   `lib` varchar(80) default NULL,
+  `lib_opac` VARCHAR(80) default NULL,
   `imageurl` varchar(200) default NULL,
   PRIMARY KEY  (`id`),
   KEY `name` (`category`),
-  KEY `lib` (`lib`)
+  KEY `lib` (`lib`),
+  KEY `auth_value_idx` (`authorised_value`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
@@ -181,6 +183,7 @@ CREATE TABLE `biblioitems` (
   KEY `bibinoidx` (`biblioitemnumber`),
   KEY `bibnoidx` (`biblionumber`),
   KEY `isbn` (`isbn`),
+  KEY `issn` (`issn`),
   KEY `publishercode` (`publishercode`),
   CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -253,11 +256,13 @@ CREATE TABLE `borrowers` (
   `altcontactcountry` text default NULL,
   `altcontactphone` varchar(50) default NULL,
   `smsalertnumber` varchar(50) default NULL,
+  `privacy` integer(11) DEFAULT '1' NOT NULL,
   UNIQUE KEY `cardnumber` (`cardnumber`),
   PRIMARY KEY `borrowernumber` (`borrowernumber`),
   KEY `categorycode` (`categorycode`),
   KEY `branchcode` (`branchcode`),
   KEY `userid` (`userid`),
+  KEY `guarantorid` (`guarantorid`),
   CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
   CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -276,7 +281,8 @@ CREATE TABLE `borrower_attribute_types` (
   `password_allowed` tinyint(1) NOT NULL default 0,
   `staff_searchable` tinyint(1) NOT NULL default 0,
   `authorised_value_category` varchar(10) default NULL,
-  PRIMARY KEY  (`code`)
+  PRIMARY KEY  (`code`),
+  KEY `auth_val_cat_idx` (`authorised_value_category`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
@@ -297,6 +303,7 @@ CREATE TABLE `borrower_attributes` (
     ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+DROP TABLE IF EXISTS `branch_item_rules`;
 CREATE TABLE `branch_item_rules` (
   `branchcode` varchar(10) NOT NULL,
   `itemtype` varchar(10) NOT NULL,
@@ -333,7 +340,7 @@ CREATE TABLE `branches` (
   `branchaddress1` mediumtext,
   `branchaddress2` mediumtext,
   `branchaddress3` mediumtext,
-  `branchzip` varchar(25) default NULL,  
+  `branchzip` varchar(25) default NULL,
   `branchcity` mediumtext,
   `branchcountry` text,
   `branchphone` mediumtext,
@@ -404,6 +411,7 @@ CREATE TABLE `categories` (
   `categorycode` varchar(10) NOT NULL default '',
   `description` mediumtext,
   `enrolmentperiod` smallint(6) default NULL,
+  `enrolmentperioddate` DATE NULL DEFAULT NULL,
   `upperagelimit` smallint(6) default NULL,
   `dateofbirthrequired` tinyint(1) default NULL,
   `finetype` varchar(30) default NULL,
@@ -412,11 +420,33 @@ CREATE TABLE `categories` (
   `overduenoticerequired` tinyint(1) default NULL,
   `issuelimit` smallint(6) default NULL,
   `reservefee` decimal(28,6) default NULL,
+  `hidelostitems` tinyint(1) NOT NULL default '0',
   `category_type` varchar(1) NOT NULL default 'A',
   PRIMARY KEY  (`categorycode`),
   UNIQUE KEY `categorycode` (`categorycode`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+--
+-- Table: collections
+--
+CREATE TABLE collections (
+  colId integer(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 CHARACTER SET utf8;
+
+--
+-- Table: collections_tracking
+--
+CREATE TABLE collections_tracking (
+  ctId integer(11) NOT NULL auto_increment,
+  colId integer(11) NOT NULL DEFAULT 0 comment 'collections.colId',
+  itemnumber integer(11) NOT NULL DEFAULT 0 comment 'items.itemnumber',
+  PRIMARY KEY (ctId)
+) ENGINE=InnoDB DEFAULT CHARACTER SET utf8;
+
 --
 -- Table structure for table `borrower_branch_circ_rules`
 --
@@ -463,7 +493,7 @@ CREATE TABLE `default_branch_circ_rules` (
 --
 -- Table structure for table `default_branch_item_rules`
 --
-
+DROP TABLE IF EXISTS `default_branch_item_rules`;
 CREATE TABLE `default_branch_item_rules` (
   `itemtype` varchar(10) NOT NULL,
   `holdallowed` tinyint(1) default NULL,
@@ -534,7 +564,7 @@ CREATE TABLE `currency` (
   `currency` varchar(10) NOT NULL default '',
   `symbol` varchar(5) default NULL,
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-  `rate` float(7,5) default NULL,
+  `rate` float(15,5) default NULL,
   `active` tinyint(1) default NULL,
   PRIMARY KEY  (`currency`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -613,7 +643,7 @@ CREATE TABLE `deletedbiblioitems` (
 DROP TABLE IF EXISTS `deletedborrowers`;
 CREATE TABLE `deletedborrowers` (
   `borrowernumber` int(11) NOT NULL default 0,
-  `cardnumber` varchar(9) NOT NULL default '',
+  `cardnumber` varchar(16) NOT NULL default '',
   `surname` mediumtext NOT NULL,
   `firstname` text,
   `title` mediumtext,
@@ -674,6 +704,7 @@ CREATE TABLE `deletedborrowers` (
   `altcontactcountry` text default NULL,
   `altcontactphone` varchar(50) default NULL,
   `smsalertnumber` varchar(50) default NULL,
+  `privacy` integer(11) DEFAULT '1' NOT NULL,
   KEY `borrowernumber` (`borrowernumber`),
   KEY `cardnumber` (`cardnumber`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -720,7 +751,7 @@ CREATE TABLE `deleteditems` (
   `uri` varchar(255) default NULL,
   `itype` varchar(10) default NULL,
   `more_subfields_xml` longtext default NULL,
-  `enumchron` varchar(80) default NULL,
+  `enumchron` text default NULL,
   `copynumber` varchar(32) default NULL,
   `stocknumber` varchar(32) default NULL,
   `marc` longblob,
@@ -754,6 +785,10 @@ CREATE TABLE `export_format` (
   `profile` varchar(255) NOT NULL,
   `description` mediumtext NOT NULL,
   `marcfields` mediumtext NOT NULL,
+  `csv_separator` varchar(2) NOT NULL,
+  `field_separator` varchar(2) NOT NULL,
+  `subfield_separator` varchar(2) NOT NULL,
+  `encoding` varchar(255) NOT NULL,
   PRIMARY KEY  (`export_format_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Used for CSV export';
 
@@ -771,13 +806,13 @@ CREATE TABLE hold_fill_targets (
   `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;
 
@@ -841,7 +876,7 @@ CREATE TABLE `import_record_matches` (
   `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;
@@ -861,7 +896,7 @@ CREATE TABLE `import_biblios` (
   `isbn` varchar(30) 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`),
@@ -882,7 +917,7 @@ CREATE TABLE `import_items` (
   `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`)
@@ -931,6 +966,8 @@ CREATE TABLE `issuingrules` (
   `chargename` varchar(100) default NULL,
   `maxissueqty` int(4) default NULL,
   `issuelength` int(4) default NULL,
+  `hardduedate` date default NULL,
+  `hardduedatecompare` tinyint NOT NULL default "0",
   `renewalsallowed` smallint(6) NOT NULL default "0",
   `reservesallowed` smallint(6) NOT NULL default "0",
   `branchcode` varchar(10) NOT NULL default '',
@@ -981,12 +1018,12 @@ CREATE TABLE `items` (
   `uri` varchar(255) default NULL,
   `itype` varchar(10) default NULL,
   `more_subfields_xml` longtext default NULL,
-  `enumchron` varchar(80) default NULL,
+  `enumchron` text default NULL,
   `copynumber` varchar(32) default NULL,
   `stocknumber` varchar(32) default NULL,
   PRIMARY KEY  (`itemnumber`),
   UNIQUE KEY `itembarcodeidx` (`barcode`),
-  UNIQUE KEY `itemstocknumberidx` (`stocknumber`),
+  KEY `itemstocknumberidx` (`stocknumber`),
   KEY `itembinoidx` (`biblioitemnumber`),
   KEY `itembibnoidx` (`biblionumber`),
   KEY `homebranch` (`homebranch`),
@@ -1013,66 +1050,96 @@ CREATE TABLE `itemtypes` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `labels_batches`
---
-
-DROP TABLE IF EXISTS `labels_batches`;
-CREATE TABLE `labels_batches` (
-  `label_id` int(11) NOT NULL auto_increment,
-  `batch_id` int(10) NOT NULL default '1',
-  `item_number` int(11) NOT NULL default '0',
-  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-  `branch_code` varchar(10) NOT NULL default 'NB',
-  PRIMARY KEY  USING BTREE (`label_id`),
-  KEY `branch_fk` (`branch_code`),
-  KEY `item_fk` (`item_number`),
-  CONSTRAINT `item_fk_constraint` FOREIGN KEY (`item_number`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE,
-  CONSTRAINT `branch_fk_constraint` FOREIGN KEY (`branch_code`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Table structure for table `labels_layouts`
---
-
-DROP TABLE IF EXISTS `labels_layouts`;
-CREATE TABLE `labels_layouts` (
-  `layout_id` int(4) NOT NULL auto_increment,
-  `barcode_type` char(100) NOT NULL default 'CODE39',
-  `printing_type` char(32) NOT NULL default 'BAR',
-  `layout_name` char(20) NOT NULL default 'DEFAULT',
-  `guidebox` int(1) default '0',
-  `font` char(10) character set utf8 collate utf8_unicode_ci NOT NULL default 'TR',
-  `font_size` int(4) NOT NULL default '10',
-  `callnum_split` int(1) default '0',
-  `text_justify` char(1) character set utf8 collate utf8_unicode_ci NOT NULL default 'L',
-  `format_string` varchar(210) NOT NULL default 'barcode',
-  PRIMARY KEY  USING BTREE (`layout_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
---
--- Table structure for table `labels_templates`
---
-
-DROP TABLE IF EXISTS `labels_templates`;
-CREATE TABLE `labels_templates` (
-  `template_id` int(4) NOT NULL auto_increment,
-  `profile_id` int(4) default NULL,
-  `template_code` char(100) NOT NULL default 'DEFAULT TEMPLATE',
-  `template_desc` char(100) NOT NULL default 'Default description',
-  `page_width` float NOT NULL default '0',
-  `page_height` float NOT NULL default '0',
-  `label_width` float NOT NULL default '0',
-  `label_height` float NOT NULL default '0',
-  `top_text_margin` float NOT NULL default '0',
-  `left_text_margin` float NOT NULL default '0',
-  `top_margin` float NOT NULL default '0',
-  `left_margin` float NOT NULL default '0',
-  `cols` int(2) NOT NULL default '0',
-  `rows` int(2) NOT NULL default '0',
-  `col_gap` float NOT NULL default '0',
-  `row_gap` float NOT NULL default '0',
-  `units` char(20) NOT NULL default 'POINT',
-  PRIMARY KEY  (`template_id`),
+-- Table structure for table `creator_batches`
+--
+
+DROP TABLE IF EXISTS `creator_batches`;
+SET @saved_cs_client     = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `creator_batches` (
+  `label_id` int(11) NOT NULL AUTO_INCREMENT,
+  `batch_id` int(10) NOT NULL DEFAULT '1',
+  `item_number` int(11) DEFAULT NULL,
+  `borrower_number` int(11) DEFAULT NULL,
+  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `branch_code` varchar(10) NOT NULL DEFAULT 'NB',
+  `creator` char(15) NOT NULL DEFAULT 'Labels',
+  PRIMARY KEY (`label_id`),
+  KEY `branch_fk_constraint` (`branch_code`),
+  KEY `item_fk_constraint` (`item_number`),
+  KEY `borrower_fk_constraint` (`borrower_number`),
+  CONSTRAINT `creator_batches_ibfk_1` FOREIGN KEY (`borrower_number`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `creator_batches_ibfk_2` FOREIGN KEY (`branch_code`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE,
+  CONSTRAINT `creator_batches_ibfk_3` FOREIGN KEY (`item_number`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `creator_images`
+--
+
+DROP TABLE IF EXISTS `creator_images`;
+SET @saved_cs_client     = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `creator_images` (
+  `image_id` int(4) NOT NULL AUTO_INCREMENT,
+  `imagefile` mediumblob,
+  `image_name` char(20) NOT NULL DEFAULT 'DEFAULT',
+  PRIMARY KEY (`image_id`),
+  UNIQUE KEY `image_name_index` (`image_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `creator_layouts`
+--
+
+DROP TABLE IF EXISTS `creator_layouts`;
+SET @saved_cs_client     = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `creator_layouts` (
+  `layout_id` int(4) NOT NULL AUTO_INCREMENT,
+  `barcode_type` char(100) NOT NULL DEFAULT 'CODE39',
+  `start_label` int(2) NOT NULL DEFAULT '1',
+  `printing_type` char(32) NOT NULL DEFAULT 'BAR',
+  `layout_name` char(20) NOT NULL DEFAULT 'DEFAULT',
+  `guidebox` int(1) DEFAULT '0',
+  `font` char(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'TR',
+  `font_size` int(4) NOT NULL DEFAULT '10',
+  `units` char(20) NOT NULL DEFAULT 'POINT',
+  `callnum_split` int(1) DEFAULT '0',
+  `text_justify` char(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'L',
+  `format_string` varchar(210) NOT NULL DEFAULT 'barcode',
+  `layout_xml` text NOT NULL,
+  `creator` char(15) NOT NULL DEFAULT 'Labels',
+  PRIMARY KEY (`layout_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `creator_templates`
+--
+
+DROP TABLE IF EXISTS `creator_templates`;
+SET @saved_cs_client     = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `creator_templates` (
+  `template_id` int(4) NOT NULL AUTO_INCREMENT,
+  `profile_id` int(4) DEFAULT NULL,
+  `template_code` char(100) NOT NULL DEFAULT 'DEFAULT TEMPLATE',
+  `template_desc` char(100) NOT NULL DEFAULT 'Default description',
+  `page_width` float NOT NULL DEFAULT '0',
+  `page_height` float NOT NULL DEFAULT '0',
+  `label_width` float NOT NULL DEFAULT '0',
+  `label_height` float NOT NULL DEFAULT '0',
+  `top_text_margin` float NOT NULL DEFAULT '0',
+  `left_text_margin` float NOT NULL DEFAULT '0',
+  `top_margin` float NOT NULL DEFAULT '0',
+  `left_margin` float NOT NULL DEFAULT '0',
+  `cols` int(2) NOT NULL DEFAULT '0',
+  `rows` int(2) NOT NULL DEFAULT '0',
+  `col_gap` float NOT NULL DEFAULT '0',
+  `row_gap` float NOT NULL DEFAULT '0',
+  `units` char(20) NOT NULL DEFAULT 'POINT',
+  `creator` char(15) NOT NULL DEFAULT 'Labels',
+  PRIMARY KEY (`template_id`),
   KEY `template_profile_fk_constraint` (`profile_id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -1249,13 +1316,13 @@ CREATE TABLE `notifys` (
 
 DROP TABLE IF EXISTS `nozebra`;
 CREATE TABLE `nozebra` (
-                `server` varchar(20)     NOT NULL,
-                `indexname` varchar(40)  NOT NULL,
-                `value` varchar(250)     NOT NULL,
-                `biblionumbers` longtext NOT NULL,
-                KEY `indexname` (`server`,`indexname`),
-                KEY `value` (`server`,`value`))
-                ENGINE=InnoDB DEFAULT CHARSET=utf8;
+  `server` varchar(20)     NOT NULL,
+  `indexname` varchar(40)  NOT NULL,
+  `value` varchar(250)     NOT NULL,
+  `biblionumbers` longtext NOT NULL,
+  KEY `indexname` (`server`,`indexname`),
+  KEY `value` (`server`,`value`))
+  ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
 -- Table structure for table `old_issues`
@@ -1277,9 +1344,9 @@ CREATE TABLE `old_issues` (
   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;
 
@@ -1302,15 +1369,17 @@ CREATE TABLE `old_reserves` (
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
   `itemnumber` int(11) default NULL,
   `waitingdate` date default NULL,
+  `expirationdate` DATE DEFAULT NULL,
+  `lowestPriority` tinyint(1) NOT NULL,
   KEY `old_reserves_borrowernumber` (`borrowernumber`),
   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;
 
@@ -1405,8 +1474,9 @@ CREATE TABLE `printers_profile` (
   `creep_horz` float NOT NULL default '0',
   `creep_vert` float NOT NULL default '0',
   `units` char(20) NOT NULL default 'POINT',
+  `creator` char(15) NOT NULL DEFAULT 'Labels',
   PRIMARY KEY  (`profile_id`),
-  UNIQUE KEY `printername` (`printer_name`,`template_id`,`paper_bin`)
+  UNIQUE KEY `printername` (`printer_name`,`template_id`,`paper_bin`,`creator`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
@@ -1427,7 +1497,7 @@ CREATE TABLE `repeatable_holidays` (
 
 --
 -- Table structure for table `reports_dictionary`
--- 
+--
 
 DROP TABLE IF EXISTS `reports_dictionary`;
 CREATE TABLE reports_dictionary (
@@ -1474,6 +1544,8 @@ CREATE TABLE `reserves` (
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
   `itemnumber` int(11) default NULL,
   `waitingdate` date default NULL,
+  `expirationdate` DATE DEFAULT NULL,
+  `lowestPriority` tinyint(1) NOT NULL,
   KEY `borrowernumber` (`borrowernumber`),
   KEY `biblionumber` (`biblionumber`),
   KEY `itemnumber` (`itemnumber`),
@@ -1560,7 +1632,7 @@ CREATE TABLE IF NOT EXISTS `search_history` (
   KEY `sessionid` (`sessionid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Opac search history results';
 
-                  
+
 --
 -- Table structure for table `serial`
 --
@@ -1585,7 +1657,7 @@ CREATE TABLE `serial` (
 -- Table structure for table `sessions`
 --
 
-DROP TABLE IF EXISTS sessions;                         
+DROP TABLE IF EXISTS sessions;
 CREATE TABLE sessions (
   `id` varchar(32) NOT NULL,
   `a_session` text NOT NULL,
@@ -1694,6 +1766,7 @@ CREATE TABLE `subscription` (
   `staffdisplaycount` VARCHAR(10) NULL,
   `opacdisplaycount` VARCHAR(10) NULL,
   `graceperiod` int(11) NOT NULL default '0',
+  `enddate` date default NULL,
   PRIMARY KEY  (`subscriptionid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -1722,10 +1795,15 @@ CREATE TABLE `subscriptionhistory` (
 DROP TABLE IF EXISTS `subscriptionroutinglist`;
 CREATE TABLE `subscriptionroutinglist` (
   `routingid` int(11) NOT NULL auto_increment,
-  `borrowernumber` int(11) default NULL,
+  `borrowernumber` int(11) NOT NULL,
   `ranking` int(11) default NULL,
-  `subscriptionid` int(11) default NULL,
-  PRIMARY KEY  (`routingid`)
+  `subscriptionid` int(11) NOT NULL,
+  PRIMARY KEY  (`routingid`),
+  UNIQUE (`subscriptionid`, `borrowernumber`),
+  CONSTRAINT `subscriptionroutinglist_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
+    ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `subscriptionroutinglist_ibfk_2` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`)
+    ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
@@ -1761,6 +1839,10 @@ CREATE TABLE `suggestions` (
    branchcode VARCHAR(10) default NULL,
    collectiontitle text default NULL,
    itemtype VARCHAR(30) default NULL,
+       quantity SMALLINT(6) default NULL,
+       currency VARCHAR(3) default NULL,
+       price DECIMAL(28,6) default NULL,
+       total DECIMAL(28,6) default NULL,
   PRIMARY KEY  (`suggestionid`),
   KEY `suggestedby` (`suggestedby`),
   KEY `managedby` (`managedby`)
@@ -1971,7 +2053,8 @@ CREATE TABLE language_descriptions (
         description varchar(255),
         id int(11) NOT NULL auto_increment,
         PRIMARY KEY  (`id`),
-        KEY `lang` (`lang`)
+        KEY `lang` (`lang`),
+        KEY `subtag_type_lang` (`subtag`, `type`, `lang`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 -- bi-directional support, keyed by script subcode
@@ -2007,9 +2090,10 @@ CREATE TABLE `serialitems` (
        `serialid` int(11) NOT NULL,
        UNIQUE KEY `serialitemsidx` (`itemnumber`),
        KEY `serialitems_sfk_1` (`serialid`),
-       CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE
+       CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE,
+       CONSTRAINT serialitems_sfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-                 
+
 DROP TABLE IF EXISTS `user_permissions`;
 CREATE TABLE `user_permissions` (
   `borrowernumber` int(11) NOT NULL DEFAULT 0,
@@ -2086,7 +2170,7 @@ CREATE TABLE `message_transport_types` (
 DROP TABLE IF EXISTS `message_attributes`;
 CREATE TABLE `message_attributes` (
   `message_attribute_id` int(11) NOT NULL auto_increment,
-  `message_name` varchar(20) NOT NULL default '',
+  `message_name` varchar(40) NOT NULL default '',
   `takes_days` tinyint(1) NOT NULL default '0',
   PRIMARY KEY  (`message_attribute_id`),
   UNIQUE KEY `message_name` (`message_name`)
@@ -2156,7 +2240,7 @@ CREATE TABLE branch_transfer_limits (
     toBranch varchar(10) NOT NULL,
     fromBranch varchar(10) NOT NULL,
     itemtype varchar(10) NULL,
-    ccode varchar(10) NULL,  
+    ccode varchar(10) NULL,
     PRIMARY KEY  (limitId)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -2178,11 +2262,11 @@ CREATE TABLE `item_circulation_alert_preferences` (
 --
 -- Table structure for table `messages`
 --
-
+DROP TABLE IF EXISTS `messages`;
 CREATE TABLE `messages` (
   `message_id` int(11) NOT NULL auto_increment,
   `borrowernumber` int(11) NOT NULL,
-  `branchcode` varchar(4) default NULL,
+  `branchcode` varchar(10) default NULL,
   `message_type` varchar(1) NOT NULL,
   `message` text NOT NULL,
   `message_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
@@ -2271,6 +2355,9 @@ CREATE TABLE `aqbasketgroups` (
   `name` varchar(50) default NULL,
   `closed` tinyint(1) default NULL,
   `booksellerid` int(11) NOT NULL,
+  `deliveryplace` varchar(10) default NULL,
+  `deliverycomment` varchar(255) default NULL,
+  `billingplace` varchar(10) default NULL,
   PRIMARY KEY  (`id`),
   KEY `booksellerid` (`booksellerid`),
   CONSTRAINT `aqbasketgroups_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON UPDATE CASCADE ON DELETE CASCADE
@@ -2359,8 +2446,8 @@ CREATE TABLE `aqbudgets` (
   `budget_name` varchar(80) default NULL,
   `budget_branchcode` varchar(10) default NULL,
   `budget_amount` decimal(28,6) NULL default '0.00',
-  `budget_encumb` decimal(28,6) NULL default '0.00', 
-  `budget_expend` decimal(28,6) NULL default '0.00', 
+  `budget_encumb` decimal(28,6) NULL default '0.00',
+  `budget_expend` decimal(28,6) NULL default '0.00',
   `budget_notes` mediumtext,
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
   `budget_period_id` int(11) default NULL,
@@ -2403,6 +2490,7 @@ CREATE TABLE `aqbudgets_planning` (
   `estimated_amount` decimal(28,6) default NULL,
   `authcat` varchar(30) NOT NULL,
   `authvalue` varchar(30) NOT NULL,
+  `display` tinyint(1) DEFAULT 1,
   PRIMARY KEY  (`plan_id`),
   CONSTRAINT `aqbudgets_planning_ifbk_1` FOREIGN KEY (`budget_id`) REFERENCES `aqbudgets` (`budget_id`) ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -2420,7 +2508,7 @@ CREATE TABLE `aqcontract` (
   `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 ;
 
@@ -2454,7 +2542,7 @@ CREATE TABLE `aqorders` (
   `booksellerinvoicenumber` mediumtext,
   `freight` decimal(28,6) default NULL,
   `unitprice` decimal(28,6) default NULL,
-  `quantityreceived` smallint(6) default NULL,
+  `quantityreceived` smallint(6) NOT NULL default 0,
   `cancelledby` varchar(10) default NULL,
   `datecancellationprinted` date default NULL,
   `notes` mediumtext,
@@ -2479,10 +2567,12 @@ CREATE TABLE `aqorders` (
   PRIMARY KEY  (`ordernumber`),
   KEY `basketno` (`basketno`),
   KEY `biblionumber` (`biblionumber`),
+  KEY `budget_id` (`budget_id`),
   CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
   CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+
 --
 -- Table structure for table `aqorders_items`
 --
@@ -2496,7 +2586,7 @@ CREATE TABLE `aqorders_items` (
   KEY `ordernumber` (`ordernumber`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
--- 
+--
 -- Table structure for table `fieldmapping`
 --