followup 2 to to renewal limit override
[koha.git] / installer / data / mysql / kohastructure.sql
index c3d475c..09aaf97 100644 (file)
@@ -486,6 +486,7 @@ CREATE TABLE `borrowers` (
   `altcontactaddress3` varchar(255) default NULL,
   `altcontactzipcode` varchar(50) default NULL,
   `altcontactphone` varchar(50) default NULL,
+  `smsalertnumber` varchar(50) default NULL,
   UNIQUE KEY `cardnumber` (`cardnumber`),
   PRIMARY KEY `borrowernumber` (`borrowernumber`),
   KEY `categorycode` (`categorycode`),
@@ -633,6 +634,59 @@ CREATE TABLE `categories` (
   UNIQUE KEY `categorycode` (`categorycode`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+--
+-- Table structure for table `borrower_branch_circ_rules`
+--
+
+DROP TABLE IF EXISTS `branch_borrower_circ_rules`;
+CREATE TABLE `branch_borrower_circ_rules` (
+  `branchcode` VARCHAR(10) NOT NULL,
+  `categorycode` VARCHAR(10) NOT NULL,
+  `maxissueqty` int(4) default NULL,
+  PRIMARY KEY (`categorycode`, `branchcode`),
+  CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
+    ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `branch_borrower_circ_rules_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
+    ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `default_borrower_circ_rules`
+--
+
+DROP TABLE IF EXISTS `default_borrower_circ_rules`;
+CREATE TABLE `default_borrower_circ_rules` (
+  `categorycode` VARCHAR(10) NOT NULL,
+  `maxissueqty` int(4) default NULL,
+  PRIMARY KEY (`categorycode`),
+  CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
+    ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `default_branch_circ_rules`
+--
+
+DROP TABLE IF EXISTS `default_branch_circ_rules`;
+CREATE TABLE `default_branch_circ_rules` (
+  `branchcode` VARCHAR(10) NOT NULL,
+  `maxissueqty` int(4) default NULL,
+  PRIMARY KEY (`branchcode`),
+  CONSTRAINT `default_branch_circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
+    ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `default_circ_rules`
+--
+
+DROP TABLE IF EXISTS `default_circ_rules`;
+CREATE TABLE `default_circ_rules` (
+    `singleton` enum('singleton') NOT NULL default 'singleton',
+    `maxissueqty` int(4) default NULL,
+    PRIMARY KEY (`singleton`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
 --
 -- Table structure for table `cities`
 --
@@ -788,7 +842,7 @@ CREATE TABLE `deletedborrowers` (
   `B_phone` mediumtext,
   `dateofbirth` date default NULL,
   `branchcode` varchar(10) NOT NULL default '',
-  `categorycode` varchar(2) default NULL,
+  `categorycode` varchar(10) default NULL,
   `dateenrolled` date default NULL,
   `dateexpiry` date default NULL,
   `gonenoaddress` tinyint(1) default NULL,
@@ -863,7 +917,7 @@ CREATE TABLE `deleteditems` (
   `itype` varchar(10) default NULL,
   `more_subfields_xml` longtext default NULL,
   `enumchron` varchar(80) default NULL,
-  `copynumber` smallint(6) default NULL,
+  `copynumber` varchar(32) default NULL,
   `marc` longblob,
   PRIMARY KEY  (`itemnumber`),
   KEY `delitembarcodeidx` (`barcode`),
@@ -884,6 +938,28 @@ CREATE TABLE `ethnicity` (
   PRIMARY KEY  (`code`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+--
+-- Table structure for table `hold_fill_targets`
+--
+
+CREATE TABLE hold_fill_targets (
+  `borrowernumber` int(11) NOT NULL,
+  `biblionumber` int(11) NOT NULL,
+  `itemnumber` int(11) NOT NULL,
+  `source_branchcode`  varchar(10) default NULL,
+  `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`) 
+    REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+  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`) 
+    REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`) 
+    REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
 --
 -- Table structure for table `import_batches`
 --
@@ -1081,7 +1157,7 @@ CREATE TABLE `items` (
   `itype` varchar(10) default NULL,
   `more_subfields_xml` longtext default NULL,
   `enumchron` varchar(80) default NULL,
-  `copynumber` smallint(6) default NULL,
+  `copynumber` varchar(32) default NULL,
   PRIMARY KEY  (`itemnumber`),
   UNIQUE KEY `itembarcodeidx` (`barcode`),
   KEY `itembinoidx` (`biblioitemnumber`),
@@ -1214,7 +1290,7 @@ CREATE TABLE `letter` (
 DROP TABLE IF EXISTS `marc_subfield_structure`;
 CREATE TABLE `marc_subfield_structure` (
   `tagfield` varchar(3) NOT NULL default '',
-  `tagsubfield` varchar(1) NOT NULL default '',
+  `tagsubfield` varchar(1) NOT NULL default '' COLLATE utf8_bin,
   `liblibrarian` varchar(255) NOT NULL default '',
   `libopac` varchar(255) NOT NULL default '',
   `repeatable` tinyint(4) NOT NULL default 0,
@@ -1454,7 +1530,7 @@ CREATE TABLE `opac_news` (
 DROP TABLE IF EXISTS `overduerules`;
 CREATE TABLE `overduerules` (
   `branchcode` varchar(10) NOT NULL default '',
-  `categorycode` varchar(2) NOT NULL default '',
+  `categorycode` varchar(10) NOT NULL default '',
   `delay1` int(4) default 0,
   `letter1` varchar(20) default NULL,
   `debarred1` varchar(1) default 0,
@@ -1954,6 +2030,7 @@ CREATE TABLE `virtualshelves` (
   `owner` varchar(80) default NULL,
   `category` varchar(1) default NULL,
   `sortfield` varchar(16) default NULL,
+  `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
   PRIMARY KEY  (`shelfnumber`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -2078,13 +2155,15 @@ CREATE TABLE `permissions` (
     ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-DROP TABLE IF EXISTS serialitems;
-CREATE TABLE serialitems (
-        serialid int(11) NOT NULL,
-        itemnumber int(11) NOT NULL,
-        UNIQUE KEY `serialididx` (`serialid`)
+DROP TABLE IF EXISTS `serialitems`;
+CREATE TABLE `serialitems` (
+       `itemnumber` int(11) NOT NULL,
+       `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
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
+                 
 DROP TABLE IF EXISTS `user_permissions`;
 CREATE TABLE `user_permissions` (
   `borrowernumber` int(11) NOT NULL DEFAULT 0,
@@ -2096,6 +2175,125 @@ CREATE TABLE `user_permissions` (
     ON DELETE CASCADE ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+--
+-- Table structure for table `tmp_holdsqueue`
+--
+
+DROP TABLE IF EXISTS `tmp_holdsqueue`;
+CREATE TABLE `tmp_holdsqueue` (
+  `biblionumber` int(11) default NULL,
+  `itemnumber` int(11) default NULL,
+  `barcode` varchar(20) default NULL,
+  `surname` mediumtext NOT NULL,
+  `firstname` text,
+  `phone` text,
+  `borrowernumber` int(11) NOT NULL,
+  `cardnumber` varchar(16) default NULL,
+  `reservedate` date default NULL,
+  `title` mediumtext,
+  `itemcallnumber` varchar(30) default NULL,
+  `holdingbranch` varchar(10) default NULL,
+  `pickbranch` varchar(10) default NULL,
+  `notes` text,
+  `item_level_request` tinyint(4) NOT NULL default 0
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `message_queue`
+--
+
+CREATE TABLE `message_queue` (
+  `message_id` int(11) NOT NULL auto_increment,
+  `borrowernumber` int(11) default NULL,
+  `subject` text,
+  `content` text,
+  `message_transport_type` varchar(20) NOT NULL,
+  `status` enum('sent','pending','failed','deleted') NOT NULL default 'pending',
+  `time_queued` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `to_address` mediumtext,
+  `from_address` mediumtext,
+  `content_type` text,
+  KEY `message_id` (`message_id`),
+  KEY `borrowernumber` (`borrowernumber`),
+  KEY `message_transport_type` (`message_transport_type`),
+  CONSTRAINT `messageq_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `messageq_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE RESTRICT ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `message_transport_types`
+--
+
+DROP TABLE IF EXISTS `message_transport_types`;
+CREATE TABLE `message_transport_types` (
+  `message_transport_type` varchar(20) NOT NULL,
+  PRIMARY KEY  (`message_transport_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `message_attributes`
+--
+
+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 '',
+  `takes_days` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`message_attribute_id`),
+  UNIQUE KEY `message_name` (`message_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `message_transports`
+--
+
+DROP TABLE IF EXISTS `message_transports`;
+CREATE TABLE `message_transports` (
+  `message_attribute_id` int(11) NOT NULL,
+  `message_transport_type` varchar(20) NOT NULL,
+  `is_digest` tinyint(1) NOT NULL default '0',
+  `letter_module` varchar(20) NOT NULL default '',
+  `letter_code` varchar(20) NOT NULL default '',
+  PRIMARY KEY  (`message_attribute_id`,`message_transport_type`,`is_digest`),
+  KEY `message_transport_type` (`message_transport_type`),
+  KEY `letter_module` (`letter_module`,`letter_code`),
+  CONSTRAINT `message_transports_ibfk_1` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `message_transports_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `message_transports_ibfk_3` FOREIGN KEY (`letter_module`, `letter_code`) REFERENCES `letter` (`module`, `code`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `borrower_message_preferences`
+--
+
+DROP TABLE IF EXISTS `borrower_message_preferences`;
+CREATE TABLE `borrower_message_preferences` (
+  `borrower_message_preference_id` int(11) NOT NULL auto_increment,
+  `borrowernumber` int(11) NOT NULL default '0',
+  `message_attribute_id` int(11) default '0',
+  `days_in_advance` int(11) default '0',
+  `wants_digest` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`borrower_message_preference_id`),
+  KEY `borrowernumber` (`borrowernumber`),
+  KEY `message_attribute_id` (`message_attribute_id`),
+  CONSTRAINT `borrower_message_preferences_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `borrower_message_preferences_ibfk_2` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `borrower_message_transport_preferences`
+--
+
+DROP TABLE IF EXISTS `borrower_message_transport_preferences`;
+CREATE TABLE `borrower_message_transport_preferences` (
+  `borrower_message_preference_id` int(11) NOT NULL default '0',
+  `message_transport_type` varchar(20) NOT NULL default '0',
+  PRIMARY KEY  (`borrower_message_preference_id`,`message_transport_type`),
+  KEY `message_transport_type` (`message_transport_type`),
+  CONSTRAINT `borrower_message_transport_preferences_ibfk_1` FOREIGN KEY (`borrower_message_preference_id`) REFERENCES `borrower_message_preferences` (`borrower_message_preference_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `borrower_message_transport_preferences_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;