Fix for Bug 424: Serials display: installer does not make database changes for displa...
[koha.git] / installer / data / mysql / kohastructure.sql
1 -- MySQL dump 10.9
2 --
3 -- Host: localhost    Database: koha30test
4 -- ------------------------------------------------------
5 -- Server version       4.1.22
6
7 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
11 /*!40101 SET NAMES utf8 */;
12 /*!40103 SET TIME_ZONE='+00:00' */;
13 /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
18 --
19 -- Table structure for table `accountlines`
20 --
21
22 DROP TABLE IF EXISTS `accountlines`;
23 CREATE TABLE `accountlines` (
24   `borrowernumber` int(11) NOT NULL default 0,
25   `accountno` smallint(6) NOT NULL default 0,
26   `itemnumber` int(11) default NULL,
27   `date` date default NULL,
28   `amount` decimal(28,6) default NULL,
29   `description` mediumtext,
30   `dispute` mediumtext,
31   `accounttype` varchar(5) default NULL,
32   `amountoutstanding` decimal(28,6) default NULL,
33   `lastincrement` decimal(28,6) default NULL,
34   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
35   `notify_id` int(11) NOT NULL default 0,
36   `notify_level` int(2) NOT NULL default 0,
37   KEY `acctsborridx` (`borrowernumber`),
38   KEY `timeidx` (`timestamp`),
39   KEY `itemnumber` (`itemnumber`),
40   CONSTRAINT `accountlines_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
41   CONSTRAINT `accountlines_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL
42 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
43
44 --
45 -- Table structure for table `accountoffsets`
46 --
47
48 DROP TABLE IF EXISTS `accountoffsets`;
49 CREATE TABLE `accountoffsets` (
50   `borrowernumber` int(11) NOT NULL default 0,
51   `accountno` smallint(6) NOT NULL default 0,
52   `offsetaccount` smallint(6) NOT NULL default 0,
53   `offsetamount` decimal(28,6) default NULL,
54   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
55   CONSTRAINT `accountoffsets_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
56 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
57
58 --
59 -- Table structure for table `action_logs`
60 --
61
62 DROP TABLE IF EXISTS `action_logs`;
63 CREATE TABLE `action_logs` (
64   `action_id` int(11) NOT NULL auto_increment,
65   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
66   `user` int(11) NOT NULL default 0,
67   `module` text,
68   `action` text,
69   `object` int(11) default NULL,
70   `info` text,
71   PRIMARY KEY (`action_id`),
72   KEY  (`timestamp`,`user`)
73 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
74
75 --
76 -- Table structure for table `alert`
77 --
78
79 DROP TABLE IF EXISTS `alert`;
80 CREATE TABLE `alert` (
81   `alertid` int(11) NOT NULL auto_increment,
82   `borrowernumber` int(11) NOT NULL default 0,
83   `type` varchar(10) NOT NULL default '',
84   `externalid` varchar(20) NOT NULL default '',
85   PRIMARY KEY  (`alertid`),
86   KEY `borrowernumber` (`borrowernumber`),
87   KEY `type` (`type`,`externalid`)
88 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
89
90 --
91 -- Table structure for table `aqbasket`
92 --
93
94 DROP TABLE IF EXISTS `aqbasket`;
95 CREATE TABLE `aqbasket` (
96   `basketno` int(11) NOT NULL auto_increment,
97   `creationdate` date default NULL,
98   `closedate` date default NULL,
99   `booksellerid` int(11) NOT NULL default 1,
100   `authorisedby` varchar(10) default NULL,
101   `booksellerinvoicenumber` mediumtext,
102   PRIMARY KEY  (`basketno`),
103   KEY `booksellerid` (`booksellerid`),
104   CONSTRAINT `aqbasket_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON UPDATE CASCADE
105 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
106
107 --
108 -- Table structure for table `aqbookfund`
109 --
110
111 DROP TABLE IF EXISTS `aqbookfund`;
112 CREATE TABLE `aqbookfund` (
113   `bookfundid` varchar(10) NOT NULL default '',
114   `bookfundname` mediumtext,
115   `bookfundgroup` varchar(5) default NULL,
116   `branchcode` varchar(10) NOT NULL default '',
117   PRIMARY KEY  (`bookfundid`,`branchcode`)
118 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
119
120 --
121 -- Table structure for table `aqbooksellers`
122 --
123
124 DROP TABLE IF EXISTS `aqbooksellers`;
125 CREATE TABLE `aqbooksellers` (
126   `id` int(11) NOT NULL auto_increment,
127   `name` mediumtext NOT NULL,
128   `address1` mediumtext,
129   `address2` mediumtext,
130   `address3` mediumtext,
131   `address4` mediumtext,
132   `phone` varchar(30) default NULL,
133   `accountnumber` mediumtext,
134   `othersupplier` mediumtext,
135   `currency` varchar(3) NOT NULL default '',
136   `deliverydays` smallint(6) default NULL,
137   `followupdays` smallint(6) default NULL,
138   `followupscancel` smallint(6) default NULL,
139   `specialty` mediumtext,
140   `booksellerfax` mediumtext,
141   `notes` mediumtext,
142   `bookselleremail` mediumtext,
143   `booksellerurl` mediumtext,
144   `contact` varchar(100) default NULL,
145   `postal` mediumtext,
146   `url` varchar(255) default NULL,
147   `contpos` varchar(100) default NULL,
148   `contphone` varchar(100) default NULL,
149   `contfax` varchar(100) default NULL,
150   `contaltphone` varchar(100) default NULL,
151   `contemail` varchar(100) default NULL,
152   `contnotes` mediumtext,
153   `active` tinyint(4) default NULL,
154   `listprice` varchar(10) default NULL,
155   `invoiceprice` varchar(10) default NULL,
156   `gstreg` tinyint(4) default NULL,
157   `listincgst` tinyint(4) default NULL,
158   `invoiceincgst` tinyint(4) default NULL,
159   `discount` float(6,4) default NULL,
160   `fax` varchar(50) default NULL,
161   `nocalc` int(11) default NULL,
162   `invoicedisc` float(6,4) default NULL,
163   PRIMARY KEY  (`id`),
164   KEY `listprice` (`listprice`),
165   KEY `invoiceprice` (`invoiceprice`),
166   CONSTRAINT `aqbooksellers_ibfk_1` FOREIGN KEY (`listprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE,
167   CONSTRAINT `aqbooksellers_ibfk_2` FOREIGN KEY (`invoiceprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE
168 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
169
170 --
171 -- Table structure for table `aqbudget`
172 --
173
174 DROP TABLE IF EXISTS `aqbudget`;
175 CREATE TABLE `aqbudget` (
176   `bookfundid` varchar(10) NOT NULL default '',
177   `startdate` date NOT NULL default 0,
178   `enddate` date default NULL,
179   `budgetamount` decimal(13,2) default NULL,
180   `aqbudgetid` tinyint(4) NOT NULL auto_increment,
181   `branchcode` varchar(10) default NULL,
182   PRIMARY KEY  (`aqbudgetid`)
183 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
184
185 --
186 -- Table structure for table `aqorderbreakdown`
187 --
188
189 DROP TABLE IF EXISTS `aqorderbreakdown`;
190 CREATE TABLE `aqorderbreakdown` (
191   `ordernumber` int(11) default NULL,
192   `linenumber` int(11) default NULL,
193   `branchcode` varchar(10) default NULL,
194   `bookfundid` varchar(10) NOT NULL default '',
195   `allocation` smallint(6) default NULL,
196   KEY `ordernumber` (`ordernumber`),
197   KEY `bookfundid` (`bookfundid`),
198   CONSTRAINT `aqorderbreakdown_ibfk_1` FOREIGN KEY (`ordernumber`) REFERENCES `aqorders` (`ordernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
199   CONSTRAINT `aqorderbreakdown_ibfk_2` FOREIGN KEY (`bookfundid`) REFERENCES `aqbookfund` (`bookfundid`) ON DELETE CASCADE ON UPDATE CASCADE
200 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
201
202 --
203 -- Table structure for table `aqorderdelivery`
204 --
205
206 DROP TABLE IF EXISTS `aqorderdelivery`;
207 CREATE TABLE `aqorderdelivery` (
208   `ordernumber` date default NULL,
209   `deliverynumber` smallint(6) NOT NULL default 0,
210   `deliverydate` varchar(18) default NULL,
211   `qtydelivered` smallint(6) default NULL,
212   `deliverycomments` mediumtext
213 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
214
215 --
216 -- Table structure for table `aqorders`
217 --
218
219 DROP TABLE IF EXISTS `aqorders`;
220 CREATE TABLE `aqorders` (
221   `ordernumber` int(11) NOT NULL auto_increment,
222   `biblionumber` int(11) default NULL,
223   `title` mediumtext,
224   `entrydate` date default NULL,
225   `quantity` smallint(6) default NULL,
226   `currency` varchar(3) default NULL,
227   `listprice` decimal(28,6) default NULL,
228   `totalamount` decimal(28,6) default NULL,
229   `datereceived` date default NULL,
230   `booksellerinvoicenumber` mediumtext,
231   `freight` decimal(28,6) default NULL,
232   `unitprice` decimal(28,6) default NULL,
233   `quantityreceived` smallint(6) default NULL,
234   `cancelledby` varchar(10) default NULL,
235   `datecancellationprinted` date default NULL,
236   `notes` mediumtext,
237   `supplierreference` mediumtext,
238   `purchaseordernumber` mediumtext,
239   `subscription` tinyint(1) default NULL,
240   `serialid` varchar(30) default NULL,
241   `basketno` int(11) default NULL,
242   `biblioitemnumber` int(11) default NULL,
243   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
244   `rrp` decimal(13,2) default NULL,
245   `ecost` decimal(13,2) default NULL,
246   `gst` decimal(13,2) default NULL,
247   `budgetdate` date default NULL,
248   `sort1` varchar(80) default NULL,
249   `sort2` varchar(80) default NULL,
250   PRIMARY KEY  (`ordernumber`),
251   KEY `basketno` (`basketno`),
252   KEY `biblionumber` (`biblionumber`),
253   CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
254   CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL
255 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
256
257 --
258 -- Table structure for table `auth_header`
259 --
260
261 DROP TABLE IF EXISTS `auth_header`;
262 CREATE TABLE `auth_header` (
263   `authid` bigint(20) unsigned NOT NULL auto_increment,
264   `authtypecode` varchar(10) NOT NULL default '',
265   `datecreated` date default NULL,
266   `datemodified` date default NULL,
267   `origincode` varchar(20) default NULL,
268   `authtrees` mediumtext,
269   `marc` blob,
270   `linkid` bigint(20) default NULL,
271   `marcxml` longtext NOT NULL,
272   PRIMARY KEY  (`authid`),
273   KEY `origincode` (`origincode`)
274 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
275
276 --
277 -- Table structure for table `auth_subfield_structure`
278 --
279
280 DROP TABLE IF EXISTS `auth_subfield_structure`;
281 CREATE TABLE `auth_subfield_structure` (
282   `authtypecode` varchar(10) NOT NULL default '',
283   `tagfield` varchar(3) NOT NULL default '',
284   `tagsubfield` varchar(1) NOT NULL default '',
285   `liblibrarian` varchar(255) NOT NULL default '',
286   `libopac` varchar(255) NOT NULL default '',
287   `repeatable` tinyint(4) NOT NULL default 0,
288   `mandatory` tinyint(4) NOT NULL default 0,
289   `tab` tinyint(1) default NULL,
290   `authorised_value` varchar(10) default NULL,
291   `value_builder` varchar(80) default NULL,
292   `seealso` varchar(255) default NULL,
293   `isurl` tinyint(1) default NULL,
294   `hidden` tinyint(3) NOT NULL default 0,
295   `linkid` tinyint(1) NOT NULL default 0,
296   `kohafield` varchar(45) NULL default '',
297   `frameworkcode` varchar(8) NOT NULL default '',
298   PRIMARY KEY  (`authtypecode`,`tagfield`,`tagsubfield`),
299   KEY `tab` (`authtypecode`,`tab`)
300 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
301
302 --
303 -- Table structure for table `auth_tag_structure`
304 --
305
306 DROP TABLE IF EXISTS `auth_tag_structure`;
307 CREATE TABLE `auth_tag_structure` (
308   `authtypecode` varchar(10) NOT NULL default '',
309   `tagfield` varchar(3) NOT NULL default '',
310   `liblibrarian` varchar(255) NOT NULL default '',
311   `libopac` varchar(255) NOT NULL default '',
312   `repeatable` tinyint(4) NOT NULL default 0,
313   `mandatory` tinyint(4) NOT NULL default 0,
314   `authorised_value` varchar(10) default NULL,
315   PRIMARY KEY  (`authtypecode`,`tagfield`),
316   CONSTRAINT `auth_tag_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE
317 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
318
319 --
320 -- Table structure for table `auth_types`
321 --
322
323 DROP TABLE IF EXISTS `auth_types`;
324 CREATE TABLE `auth_types` (
325   `authtypecode` varchar(10) NOT NULL default '',
326   `authtypetext` varchar(255) NOT NULL default '',
327   `auth_tag_to_report` varchar(3) NOT NULL default '',
328   `summary` mediumtext NOT NULL,
329   PRIMARY KEY  (`authtypecode`)
330 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
331
332 --
333 -- Table structure for table `authorised_values`
334 --
335
336 DROP TABLE IF EXISTS `authorised_values`;
337 CREATE TABLE `authorised_values` (
338   `id` int(11) NOT NULL auto_increment,
339   `category` varchar(10) NOT NULL default '',
340   `authorised_value` varchar(80) NOT NULL default '',
341   `lib` varchar(80) default NULL,
342   `imageurl` varchar(200) default NULL,
343   PRIMARY KEY  (`id`),
344   KEY `name` (`category`)
345 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
346
347 --
348 -- Table structure for table `biblio`
349 --
350
351 DROP TABLE IF EXISTS `biblio`;
352 CREATE TABLE `biblio` (
353   `biblionumber` int(11) NOT NULL auto_increment,
354   `frameworkcode` varchar(4) NOT NULL default '',
355   `author` mediumtext,
356   `title` mediumtext,
357   `unititle` mediumtext,
358   `notes` mediumtext,
359   `serial` tinyint(1) default NULL,
360   `seriestitle` mediumtext,
361   `copyrightdate` smallint(6) default NULL,
362   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
363   `datecreated` DATE NOT NULL,
364   `abstract` mediumtext,
365   PRIMARY KEY  (`biblionumber`),
366   KEY `blbnoidx` (`biblionumber`)
367 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
368
369 --
370 -- Table structure for table `biblio_framework`
371 --
372
373 DROP TABLE IF EXISTS `biblio_framework`;
374 CREATE TABLE `biblio_framework` (
375   `frameworkcode` varchar(4) NOT NULL default '',
376   `frameworktext` varchar(255) NOT NULL default '',
377   PRIMARY KEY  (`frameworkcode`)
378 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
379
380 --
381 -- Table structure for table `biblioitems`
382 --
383
384 DROP TABLE IF EXISTS `biblioitems`;
385 CREATE TABLE `biblioitems` (
386   `biblioitemnumber` int(11) NOT NULL auto_increment,
387   `biblionumber` int(11) NOT NULL default 0,
388   `volume` mediumtext,
389   `number` mediumtext,
390   `itemtype` varchar(10) default NULL,
391   `isbn` varchar(14) default NULL,
392   `issn` varchar(9) default NULL,
393   `publicationyear` text,
394   `publishercode` varchar(255) default NULL,
395   `volumedate` date default NULL,
396   `volumedesc` text,
397   `collectiontitle` mediumtext default NULL,
398   `collectionissn` text default NULL,
399   `collectionvolume` mediumtext default NULL,
400   `editionstatement` text default NULL,
401   `editionresponsibility` text default NULL,
402   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
403   `illus` varchar(255) default NULL,
404   `pages` varchar(255) default NULL,
405   `notes` mediumtext,
406   `size` varchar(255) default NULL,
407   `place` varchar(255) default NULL,
408   `lccn` varchar(25) default NULL,
409   `marc` longblob,
410   `url` varchar(255) default NULL,
411   `cn_source` varchar(10) default NULL,
412   `cn_class` varchar(30) default NULL,
413   `cn_item` varchar(10) default NULL,
414   `cn_suffix` varchar(10) default NULL,
415   `cn_sort` varchar(30) default NULL,
416   `totalissues` int(10),
417   `marcxml` longtext NOT NULL,
418   PRIMARY KEY  (`biblioitemnumber`),
419   KEY `bibinoidx` (`biblioitemnumber`),
420   KEY `bibnoidx` (`biblionumber`),
421   KEY `isbn` (`isbn`),
422   KEY `publishercode` (`publishercode`),
423   KEY `issn` (`issn`),
424   CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
425 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
426
427 --
428 -- Table structure for table `borrowers`
429 --
430
431 DROP TABLE IF EXISTS `borrowers`;
432 CREATE TABLE `borrowers` (
433   `borrowernumber` int(11) NOT NULL auto_increment,
434   `cardnumber` varchar(16) default NULL,
435   `surname` mediumtext NOT NULL,
436   `firstname` text,
437   `title` mediumtext,
438   `othernames` mediumtext,
439   `initials` text,
440   `streetnumber` varchar(10) default NULL,
441   `streettype` varchar(50) default NULL,
442   `address` mediumtext NOT NULL,
443   `address2` text,
444   `city` mediumtext NOT NULL,
445   `zipcode` varchar(25) default NULL,
446   `email` mediumtext,
447   `phone` text,
448   `mobile` varchar(50) default NULL,
449   `fax` mediumtext,
450   `emailpro` text,
451   `phonepro` text,
452   `B_streetnumber` varchar(10) default NULL,
453   `B_streettype` varchar(50) default NULL,
454   `B_address` varchar(100) default NULL,
455   `B_city` mediumtext,
456   `B_zipcode` varchar(25) default NULL,
457   `B_email` text,
458   `B_phone` mediumtext,
459   `dateofbirth` date default NULL,
460   `branchcode` varchar(10) NOT NULL default '',
461   `categorycode` varchar(10) NOT NULL default '',
462   `dateenrolled` date default NULL,
463   `dateexpiry` date default NULL,
464   `gonenoaddress` tinyint(1) default NULL,
465   `lost` tinyint(1) default NULL,
466   `debarred` tinyint(1) default NULL,
467   `contactname` mediumtext,
468   `contactfirstname` text,
469   `contacttitle` text,
470   `guarantorid` int(11) default NULL,
471   `borrowernotes` mediumtext,
472   `relationship` varchar(100) default NULL,
473   `ethnicity` varchar(50) default NULL,
474   `ethnotes` varchar(255) default NULL,
475   `sex` varchar(1) default NULL,
476   `password` varchar(30) default NULL,
477   `flags` int(11) default NULL,
478   `userid` varchar(30) default NULL,
479   `opacnote` mediumtext,
480   `contactnote` varchar(255) default NULL,
481   `sort1` varchar(80) default NULL,
482   `sort2` varchar(80) default NULL,
483   `altcontactfirstname` varchar(255) default NULL,
484   `altcontactsurname` varchar(255) default NULL,
485   `altcontactaddress1` varchar(255) default NULL,
486   `altcontactaddress2` varchar(255) default NULL,
487   `altcontactaddress3` varchar(255) default NULL,
488   `altcontactzipcode` varchar(50) default NULL,
489   `altcontactphone` varchar(50) default NULL,
490   `smsalertnumber` varchar(50) default NULL,
491   UNIQUE KEY `cardnumber` (`cardnumber`),
492   PRIMARY KEY `borrowernumber` (`borrowernumber`),
493   KEY `categorycode` (`categorycode`),
494   KEY `branchcode` (`branchcode`),
495   KEY `userid` (`userid`),
496   CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
497   CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
498 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
499
500 --
501 -- Table structure for table `borrower_attribute_types`
502 --
503
504 DROP TABLE IF EXISTS `borrower_attribute_types`;
505 CREATE TABLE `borrower_attribute_types` (
506   `code` varchar(10) NOT NULL,
507   `description` varchar(255) NOT NULL,
508   `repeatable` tinyint(1) NOT NULL default 0,
509   `unique_id` tinyint(1) NOT NULL default 0,
510   `opac_display` tinyint(1) NOT NULL default 0,
511   `password_allowed` tinyint(1) NOT NULL default 0,
512   `staff_searchable` tinyint(1) NOT NULL default 0,
513   `authorised_value_category` varchar(10) default NULL,
514   PRIMARY KEY  (`code`)
515 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
516
517 --
518 -- Table structure for table `borrower_attributes`
519 --
520
521 DROP TABLE IF EXISTS `borrower_attributes`;
522 CREATE TABLE `borrower_attributes` (
523   `borrowernumber` int(11) NOT NULL,
524   `code` varchar(10) NOT NULL,
525   `attribute` varchar(64) default NULL,
526   `password` varchar(64) default NULL,
527   KEY `borrowernumber` (`borrowernumber`),
528   KEY `code_attribute` (`code`, `attribute`),
529   CONSTRAINT `borrower_attributes_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
530     ON DELETE CASCADE ON UPDATE CASCADE,
531   CONSTRAINT `borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`)
532     ON DELETE CASCADE ON UPDATE CASCADE
533 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
534
535 CREATE TABLE `branch_item_rules` (
536   `branchcode` varchar(10) NOT NULL,
537   `itemtype` varchar(10) NOT NULL,
538   `holdallowed` tinyint(1) default NULL,
539   PRIMARY KEY  (`itemtype`,`branchcode`),
540   KEY `branch_item_rules_ibfk_2` (`branchcode`),
541   CONSTRAINT `branch_item_rules_ibfk_1` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`)
542     ON DELETE CASCADE ON UPDATE CASCADE,
543   CONSTRAINT `branch_item_rules_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
544     ON DELETE CASCADE ON UPDATE CASCADE
545 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
546
547 --
548 -- Table structure for table `branchcategories`
549 --
550
551 DROP TABLE IF EXISTS `branchcategories`;
552 CREATE TABLE `branchcategories` (
553   `categorycode` varchar(10) NOT NULL default '',
554   `categoryname` varchar(32),
555   `codedescription` mediumtext,
556   `categorytype` varchar(16),
557   PRIMARY KEY  (`categorycode`)
558 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
559
560 --
561 -- Table structure for table `branches`
562 --
563
564 DROP TABLE IF EXISTS `branches`;
565 CREATE TABLE `branches` (
566   `branchcode` varchar(10) NOT NULL default '',
567   `branchname` mediumtext NOT NULL,
568   `branchaddress1` mediumtext,
569   `branchaddress2` mediumtext,
570   `branchaddress3` mediumtext,
571   `branchphone` mediumtext,
572   `branchfax` mediumtext,
573   `branchemail` mediumtext,
574   `issuing` tinyint(4) default NULL,
575   `branchip` varchar(15) default NULL,
576   `branchprinter` varchar(100) default NULL,
577   UNIQUE KEY `branchcode` (`branchcode`)
578 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
579
580 --
581 -- Table structure for table `branchrelations`
582 --
583
584 DROP TABLE IF EXISTS `branchrelations`;
585 CREATE TABLE `branchrelations` (
586   `branchcode` varchar(10) NOT NULL default '',
587   `categorycode` varchar(10) NOT NULL default '',
588   PRIMARY KEY  (`branchcode`,`categorycode`),
589   KEY `branchcode` (`branchcode`),
590   KEY `categorycode` (`categorycode`),
591   CONSTRAINT `branchrelations_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
592   CONSTRAINT `branchrelations_ibfk_2` FOREIGN KEY (`categorycode`) REFERENCES `branchcategories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE
593 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
594
595 --
596 -- Table structure for table `branchtransfers`
597 --
598
599 DROP TABLE IF EXISTS `branchtransfers`;
600 CREATE TABLE `branchtransfers` (
601   `itemnumber` int(11) NOT NULL default 0,
602   `datesent` datetime default NULL,
603   `frombranch` varchar(10) NOT NULL default '',
604   `datearrived` datetime default NULL,
605   `tobranch` varchar(10) NOT NULL default '',
606   `comments` mediumtext,
607   KEY `frombranch` (`frombranch`),
608   KEY `tobranch` (`tobranch`),
609   KEY `itemnumber` (`itemnumber`),
610   CONSTRAINT `branchtransfers_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
611   CONSTRAINT `branchtransfers_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
612   CONSTRAINT `branchtransfers_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
613 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
614
615
616 --
617 -- Table structure for table `browser`
618 --
619 DROP TABLE IF EXISTS `browser`;
620 CREATE TABLE `browser` (
621   `level` int(11) NOT NULL,
622   `classification` varchar(20) NOT NULL,
623   `description` varchar(255) NOT NULL,
624   `number` bigint(20) NOT NULL,
625   `endnode` tinyint(4) NOT NULL
626 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
627
628 --
629 -- Table structure for table `categories`
630 --
631
632 DROP TABLE IF EXISTS `categories`;
633 CREATE TABLE `categories` (
634   `categorycode` varchar(10) NOT NULL default '',
635   `description` mediumtext,
636   `enrolmentperiod` smallint(6) default NULL,
637   `upperagelimit` smallint(6) default NULL,
638   `dateofbirthrequired` tinyint(1) default NULL,
639   `finetype` varchar(30) default NULL,
640   `bulk` tinyint(1) default NULL,
641   `enrolmentfee` decimal(28,6) default NULL,
642   `overduenoticerequired` tinyint(1) default NULL,
643   `issuelimit` smallint(6) default NULL,
644   `reservefee` decimal(28,6) default NULL,
645   `category_type` varchar(1) NOT NULL default 'A',
646   PRIMARY KEY  (`categorycode`),
647   UNIQUE KEY `categorycode` (`categorycode`)
648 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
649
650 --
651 -- Table structure for table `borrower_branch_circ_rules`
652 --
653
654 DROP TABLE IF EXISTS `branch_borrower_circ_rules`;
655 CREATE TABLE `branch_borrower_circ_rules` (
656   `branchcode` VARCHAR(10) NOT NULL,
657   `categorycode` VARCHAR(10) NOT NULL,
658   `maxissueqty` int(4) default NULL,
659   PRIMARY KEY (`categorycode`, `branchcode`),
660   CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
661     ON DELETE CASCADE ON UPDATE CASCADE,
662   CONSTRAINT `branch_borrower_circ_rules_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
663     ON DELETE CASCADE ON UPDATE CASCADE
664 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
665
666 --
667 -- Table structure for table `default_borrower_circ_rules`
668 --
669
670 DROP TABLE IF EXISTS `default_borrower_circ_rules`;
671 CREATE TABLE `default_borrower_circ_rules` (
672   `categorycode` VARCHAR(10) NOT NULL,
673   `maxissueqty` int(4) default NULL,
674   PRIMARY KEY (`categorycode`),
675   CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
676     ON DELETE CASCADE ON UPDATE CASCADE
677 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
678
679 --
680 -- Table structure for table `default_branch_circ_rules`
681 --
682
683 DROP TABLE IF EXISTS `default_branch_circ_rules`;
684 CREATE TABLE `default_branch_circ_rules` (
685   `branchcode` VARCHAR(10) NOT NULL,
686   `maxissueqty` int(4) default NULL,
687   `holdallowed` tinyint(1) default NULL,
688   PRIMARY KEY (`branchcode`),
689   CONSTRAINT `default_branch_circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
690     ON DELETE CASCADE ON UPDATE CASCADE
691 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
692
693 --
694 -- Table structure for table `default_branch_item_rules`
695 --
696
697 CREATE TABLE `default_branch_item_rules` (
698   `itemtype` varchar(10) NOT NULL,
699   `holdallowed` tinyint(1) default NULL,
700   PRIMARY KEY  (`itemtype`),
701   CONSTRAINT `default_branch_item_rules_ibfk_1` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`)
702     ON DELETE CASCADE ON UPDATE CASCADE
703 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
704
705 --
706 -- Table structure for table `default_circ_rules`
707 --
708
709 DROP TABLE IF EXISTS `default_circ_rules`;
710 CREATE TABLE `default_circ_rules` (
711     `singleton` enum('singleton') NOT NULL default 'singleton',
712     `maxissueqty` int(4) default NULL,
713     `holdallowed` int(1) default NULL,
714     PRIMARY KEY (`singleton`)
715 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
716
717 --
718 -- Table structure for table `cities`
719 --
720
721 DROP TABLE IF EXISTS `cities`;
722 CREATE TABLE `cities` (
723   `cityid` int(11) NOT NULL auto_increment,
724   `city_name` varchar(100) NOT NULL default '',
725   `city_zipcode` varchar(20) default NULL,
726   PRIMARY KEY  (`cityid`)
727 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
728
729 --
730 -- Table structure for table `class_sort_rules`
731 --
732
733 DROP TABLE IF EXISTS `class_sort_rules`;
734 CREATE TABLE `class_sort_rules` (
735   `class_sort_rule` varchar(10) NOT NULL default '',
736   `description` mediumtext,
737   `sort_routine` varchar(30) NOT NULL default '',
738   PRIMARY KEY (`class_sort_rule`),
739   UNIQUE KEY `class_sort_rule_idx` (`class_sort_rule`)
740 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
741
742 --
743 -- Table structure for table `class_sources`
744 --
745
746 DROP TABLE IF EXISTS `class_sources`;
747 CREATE TABLE `class_sources` (
748   `cn_source` varchar(10) NOT NULL default '',
749   `description` mediumtext,
750   `used` tinyint(4) NOT NULL default 0,
751   `class_sort_rule` varchar(10) NOT NULL default '',
752   PRIMARY KEY (`cn_source`),
753   UNIQUE KEY `cn_source_idx` (`cn_source`),
754   KEY `used_idx` (`used`),
755   CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`) REFERENCES `class_sort_rules` (`class_sort_rule`)
756 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
757
758 --
759 -- Table structure for table `currency`
760 --
761
762 DROP TABLE IF EXISTS `currency`;
763 CREATE TABLE `currency` (
764   `currency` varchar(10) NOT NULL default '',
765   `symbol` varchar(5) default NULL,
766   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
767   `rate` float(7,5) default NULL,
768   PRIMARY KEY  (`currency`)
769 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
770
771 --
772 -- Table structure for table `deletedbiblio`
773 --
774
775 DROP TABLE IF EXISTS `deletedbiblio`;
776 CREATE TABLE `deletedbiblio` (
777   `biblionumber` int(11) NOT NULL default 0,
778   `frameworkcode` varchar(4) NOT NULL default '',
779   `author` mediumtext,
780   `title` mediumtext,
781   `unititle` mediumtext,
782   `notes` mediumtext,
783   `serial` tinyint(1) default NULL,
784   `seriestitle` mediumtext,
785   `copyrightdate` smallint(6) default NULL,
786   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
787   `datecreated` DATE NOT NULL,
788   `abstract` mediumtext,
789   PRIMARY KEY  (`biblionumber`),
790   KEY `blbnoidx` (`biblionumber`)
791 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
792
793 --
794 -- Table structure for table `deletedbiblioitems`
795 --
796
797 DROP TABLE IF EXISTS `deletedbiblioitems`;
798 CREATE TABLE `deletedbiblioitems` (
799   `biblioitemnumber` int(11) NOT NULL default 0,
800   `biblionumber` int(11) NOT NULL default 0,
801   `volume` mediumtext,
802   `number` mediumtext,
803   `itemtype` varchar(10) default NULL,
804   `isbn` varchar(14) default NULL,
805   `issn` varchar(9) default NULL,
806   `publicationyear` text,
807   `publishercode` varchar(255) default NULL,
808   `volumedate` date default NULL,
809   `volumedesc` text,
810   `collectiontitle` mediumtext default NULL,
811   `collectionissn` text default NULL,
812   `collectionvolume` mediumtext default NULL,
813   `editionstatement` text default NULL,
814   `editionresponsibility` text default NULL,
815   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
816   `illus` varchar(255) default NULL,
817   `pages` varchar(255) default NULL,
818   `notes` mediumtext,
819   `size` varchar(255) default NULL,
820   `place` varchar(255) default NULL,
821   `lccn` varchar(25) default NULL,
822   `marc` longblob,
823   `url` varchar(255) default NULL,
824   `cn_source` varchar(10) default NULL,
825   `cn_class` varchar(30) default NULL,
826   `cn_item` varchar(10) default NULL,
827   `cn_suffix` varchar(10) default NULL,
828   `cn_sort` varchar(30) default NULL,
829   `totalissues` int(10),
830   `marcxml` longtext NOT NULL,
831   PRIMARY KEY  (`biblioitemnumber`),
832   KEY `bibinoidx` (`biblioitemnumber`),
833   KEY `bibnoidx` (`biblionumber`),
834   KEY `isbn` (`isbn`),
835   KEY `publishercode` (`publishercode`)
836 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
837
838 --
839 -- Table structure for table `deletedborrowers`
840 --
841
842 DROP TABLE IF EXISTS `deletedborrowers`;
843 CREATE TABLE `deletedborrowers` (
844   `borrowernumber` int(11) NOT NULL default 0,
845   `cardnumber` varchar(9) NOT NULL default '',
846   `surname` mediumtext NOT NULL,
847   `firstname` text,
848   `title` mediumtext,
849   `othernames` mediumtext,
850   `initials` text,
851   `streetnumber` varchar(10) default NULL,
852   `streettype` varchar(50) default NULL,
853   `address` mediumtext NOT NULL,
854   `address2` text,
855   `city` mediumtext NOT NULL,
856   `zipcode` varchar(25) default NULL,
857   `email` mediumtext,
858   `phone` text,
859   `mobile` varchar(50) default NULL,
860   `fax` mediumtext,
861   `emailpro` text,
862   `phonepro` text,
863   `B_streetnumber` varchar(10) default NULL,
864   `B_streettype` varchar(50) default NULL,
865   `B_address` varchar(100) default NULL,
866   `B_city` mediumtext,
867   `B_zipcode` varchar(25) default NULL,
868   `B_email` text,
869   `B_phone` mediumtext,
870   `dateofbirth` date default NULL,
871   `branchcode` varchar(10) NOT NULL default '',
872   `categorycode` varchar(10) default NULL,
873   `dateenrolled` date default NULL,
874   `dateexpiry` date default NULL,
875   `gonenoaddress` tinyint(1) default NULL,
876   `lost` tinyint(1) default NULL,
877   `debarred` tinyint(1) default NULL,
878   `contactname` mediumtext,
879   `contactfirstname` text,
880   `contacttitle` text,
881   `guarantorid` int(11) default NULL,
882   `borrowernotes` mediumtext,
883   `relationship` varchar(100) default NULL,
884   `ethnicity` varchar(50) default NULL,
885   `ethnotes` varchar(255) default NULL,
886   `sex` varchar(1) default NULL,
887   `password` varchar(30) default NULL,
888   `flags` int(11) default NULL,
889   `userid` varchar(30) default NULL,
890   `opacnote` mediumtext,
891   `contactnote` varchar(255) default NULL,
892   `sort1` varchar(80) default NULL,
893   `sort2` varchar(80) default NULL,
894   `altcontactfirstname` varchar(255) default NULL,
895   `altcontactsurname` varchar(255) default NULL,
896   `altcontactaddress1` varchar(255) default NULL,
897   `altcontactaddress2` varchar(255) default NULL,
898   `altcontactaddress3` varchar(255) default NULL,
899   `altcontactzipcode` varchar(50) default NULL,
900   `altcontactphone` varchar(50) default NULL,
901   KEY `borrowernumber` (`borrowernumber`),
902   KEY `cardnumber` (`cardnumber`)
903 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
904
905 --
906 -- Table structure for table `deleteditems`
907 --
908
909 DROP TABLE IF EXISTS `deleteditems`;
910 CREATE TABLE `deleteditems` (
911   `itemnumber` int(11) NOT NULL default 0,
912   `biblionumber` int(11) NOT NULL default 0,
913   `biblioitemnumber` int(11) NOT NULL default 0,
914   `barcode` varchar(20) default NULL,
915   `dateaccessioned` date default NULL,
916   `booksellerid` mediumtext default NULL,
917   `homebranch` varchar(10) default NULL,
918   `price` decimal(8,2) default NULL,
919   `replacementprice` decimal(8,2) default NULL,
920   `replacementpricedate` date default NULL,
921   `datelastborrowed` date default NULL,
922   `datelastseen` date default NULL,
923   `stack` tinyint(1) default NULL,
924   `notforloan` tinyint(1) NOT NULL default 0,
925   `damaged` tinyint(1) NOT NULL default 0,
926   `itemlost` tinyint(1) NOT NULL default 0,
927   `wthdrawn` tinyint(1) NOT NULL default 0,
928   `itemcallnumber` varchar(30) default NULL,
929   `issues` smallint(6) default NULL,
930   `renewals` smallint(6) default NULL,
931   `reserves` smallint(6) default NULL,
932   `restricted` tinyint(1) default NULL,
933   `itemnotes` mediumtext,
934   `holdingbranch` varchar(10) default NULL,
935   `paidfor` mediumtext,
936   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
937   `location` varchar(80) default NULL,
938   `onloan` date default NULL,
939   `cn_source` varchar(10) default NULL,
940   `cn_sort` varchar(30) default NULL,
941   `ccode` varchar(10) default NULL,
942   `materials` varchar(10) default NULL,
943   `uri` varchar(255) default NULL,
944   `itype` varchar(10) default NULL,
945   `more_subfields_xml` longtext default NULL,
946   `enumchron` varchar(80) default NULL,
947   `copynumber` varchar(32) default NULL,
948   `marc` longblob,
949   PRIMARY KEY  (`itemnumber`),
950   KEY `delitembarcodeidx` (`barcode`),
951   KEY `delitembinoidx` (`biblioitemnumber`),
952   KEY `delitembibnoidx` (`biblionumber`),
953   KEY `delhomebranch` (`homebranch`),
954   KEY `delholdingbranch` (`holdingbranch`)
955 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
956
957 --
958 -- Table structure for table `ethnicity`
959 --
960
961 DROP TABLE IF EXISTS `ethnicity`;
962 CREATE TABLE `ethnicity` (
963   `code` varchar(10) NOT NULL default '',
964   `name` varchar(255) default NULL,
965   PRIMARY KEY  (`code`)
966 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
967
968 --
969 -- Table structure for table `hold_fill_targets`
970 --
971
972 DROP TABLE IF EXISTS `hold_fill_targets`;
973 CREATE TABLE hold_fill_targets (
974   `borrowernumber` int(11) NOT NULL,
975   `biblionumber` int(11) NOT NULL,
976   `itemnumber` int(11) NOT NULL,
977   `source_branchcode`  varchar(10) default NULL,
978   `item_level_request` tinyint(4) NOT NULL default 0,
979   PRIMARY KEY `itemnumber` (`itemnumber`),
980   KEY `bib_branch` (`biblionumber`, `source_branchcode`),
981   CONSTRAINT `hold_fill_targets_ibfk_1` FOREIGN KEY (`borrowernumber`) 
982     REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
983   CONSTRAINT `hold_fill_targets_ibfk_2` FOREIGN KEY (`biblionumber`) 
984     REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
985   CONSTRAINT `hold_fill_targets_ibfk_3` FOREIGN KEY (`itemnumber`) 
986     REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
987   CONSTRAINT `hold_fill_targets_ibfk_4` FOREIGN KEY (`source_branchcode`) 
988     REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
989 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
990
991 --
992 -- Table structure for table `import_batches`
993 --
994
995 DROP TABLE IF EXISTS `import_batches`;
996 CREATE TABLE `import_batches` (
997   `import_batch_id` int(11) NOT NULL auto_increment,
998   `matcher_id` int(11) default NULL,
999   `template_id` int(11) default NULL,
1000   `branchcode` varchar(10) default NULL,
1001   `num_biblios` int(11) NOT NULL default 0,
1002   `num_items` int(11) NOT NULL default 0,
1003   `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
1004   `overlay_action` enum('replace', 'create_new', 'use_template', 'ignore') NOT NULL default 'create_new',
1005   `nomatch_action` enum('create_new', 'ignore') NOT NULL default 'create_new',
1006   `item_action` enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore') NOT NULL default 'always_add',
1007   `import_status` enum('staging', 'staged', 'importing', 'imported', 'reverting', 'reverted', 'cleaned') NOT NULL default 'staging',
1008   `batch_type` enum('batch', 'z3950') NOT NULL default 'batch',
1009   `file_name` varchar(100),
1010   `comments` mediumtext,
1011   PRIMARY KEY (`import_batch_id`),
1012   KEY `branchcode` (`branchcode`)
1013 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1014
1015 --
1016 -- Table structure for table `import_records`
1017 --
1018
1019 DROP TABLE IF EXISTS `import_records`;
1020 CREATE TABLE `import_records` (
1021   `import_record_id` int(11) NOT NULL auto_increment,
1022   `import_batch_id` int(11) NOT NULL,
1023   `branchcode` varchar(10) default NULL,
1024   `record_sequence` int(11) NOT NULL default 0,
1025   `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
1026   `import_date` DATE default NULL,
1027   `marc` longblob NOT NULL,
1028   `marcxml` longtext NOT NULL,
1029   `marcxml_old` longtext NOT NULL,
1030   `record_type` enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio',
1031   `overlay_status` enum('no_match', 'auto_match', 'manual_match', 'match_applied') NOT NULL default 'no_match',
1032   `status` enum('error', 'staged', 'imported', 'reverted', 'items_reverted', 'ignored') NOT NULL default 'staged',
1033   `import_error` mediumtext,
1034   `encoding` varchar(40) NOT NULL default '',
1035   `z3950random` varchar(40) default NULL,
1036   PRIMARY KEY (`import_record_id`),
1037   CONSTRAINT `import_records_ifbk_1` FOREIGN KEY (`import_batch_id`)
1038              REFERENCES `import_batches` (`import_batch_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1039   KEY `branchcode` (`branchcode`),
1040   KEY `batch_sequence` (`import_batch_id`, `record_sequence`)
1041 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1042
1043 --
1044 -- Table structure for `import_record_matches`
1045 --
1046 DROP TABLE IF EXISTS `import_record_matches`;
1047 CREATE TABLE `import_record_matches` (
1048   `import_record_id` int(11) NOT NULL,
1049   `candidate_match_id` int(11) NOT NULL,
1050   `score` int(11) NOT NULL default 0,
1051   CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`) 
1052              REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1053   KEY `record_score` (`import_record_id`, `score`)
1054 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1055
1056 --
1057 -- Table structure for table `import_biblios`
1058 --
1059
1060 DROP TABLE IF EXISTS `import_biblios`;
1061 CREATE TABLE `import_biblios` (
1062   `import_record_id` int(11) NOT NULL,
1063   `matched_biblionumber` int(11) default NULL,
1064   `control_number` varchar(25) default NULL,
1065   `original_source` varchar(25) default NULL,
1066   `title` varchar(128) default NULL,
1067   `author` varchar(80) default NULL,
1068   `isbn` varchar(14) default NULL,
1069   `issn` varchar(9) default NULL,
1070   `has_items` tinyint(1) NOT NULL default 0,
1071   CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`) 
1072              REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1073   KEY `matched_biblionumber` (`matched_biblionumber`),
1074   KEY `title` (`title`),
1075   KEY `isbn` (`isbn`)
1076 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1077
1078 --
1079 -- Table structure for table `import_items`
1080 --
1081
1082 DROP TABLE IF EXISTS `import_items`;
1083 CREATE TABLE `import_items` (
1084   `import_items_id` int(11) NOT NULL auto_increment,
1085   `import_record_id` int(11) NOT NULL,
1086   `itemnumber` int(11) default NULL,
1087   `branchcode` varchar(10) default NULL,
1088   `status` enum('error', 'staged', 'imported', 'reverted', 'ignored') NOT NULL default 'staged',
1089   `marcxml` longtext NOT NULL,
1090   `import_error` mediumtext,
1091   PRIMARY KEY (`import_items_id`),
1092   CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`) 
1093              REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1094   KEY `itemnumber` (`itemnumber`),
1095   KEY `branchcode` (`branchcode`)
1096 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1097
1098 --
1099 -- Table structure for table `issues`
1100 --
1101
1102 DROP TABLE IF EXISTS `issues`;
1103 CREATE TABLE `issues` (
1104   `borrowernumber` int(11) default NULL,
1105   `itemnumber` int(11) default NULL,
1106   `date_due` date default NULL,
1107   `branchcode` varchar(10) default NULL,
1108   `issuingbranch` varchar(18) default NULL,
1109   `returndate` date default NULL,
1110   `lastreneweddate` date default NULL,
1111   `return` varchar(4) default NULL,
1112   `renewals` tinyint(4) default NULL,
1113   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1114   `issuedate` date default NULL,
1115   KEY `issuesborridx` (`borrowernumber`),
1116   KEY `issuesitemidx` (`itemnumber`),
1117   KEY `bordate` (`borrowernumber`,`timestamp`),
1118   CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL,
1119   CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL
1120 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1121
1122 --
1123 -- Table structure for table `issuingrules`
1124 --
1125
1126 DROP TABLE IF EXISTS `issuingrules`;
1127 CREATE TABLE `issuingrules` (
1128   `categorycode` varchar(10) NOT NULL default '',
1129   `itemtype` varchar(10) NOT NULL default '',
1130   `restrictedtype` tinyint(1) default NULL,
1131   `rentaldiscount` decimal(28,6) default NULL,
1132   `reservecharge` decimal(28,6) default NULL,
1133   `fine` decimal(28,6) default NULL,
1134   `firstremind` int(11) default NULL,
1135   `chargeperiod` int(11) default NULL,
1136   `accountsent` int(11) default NULL,
1137   `chargename` varchar(100) default NULL,
1138   `maxissueqty` int(4) default NULL,
1139   `issuelength` int(4) default NULL,
1140   `branchcode` varchar(10) NOT NULL default '',
1141   PRIMARY KEY  (`branchcode`,`categorycode`,`itemtype`),
1142   KEY `categorycode` (`categorycode`),
1143   KEY `itemtype` (`itemtype`)
1144 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1145
1146 --
1147 -- Table structure for table `items`
1148 --
1149
1150 DROP TABLE IF EXISTS `items`;
1151 CREATE TABLE `items` (
1152   `itemnumber` int(11) NOT NULL auto_increment,
1153   `biblionumber` int(11) NOT NULL default 0,
1154   `biblioitemnumber` int(11) NOT NULL default 0,
1155   `barcode` varchar(20) default NULL,
1156   `dateaccessioned` date default NULL,
1157   `booksellerid` mediumtext default NULL,
1158   `homebranch` varchar(10) default NULL,
1159   `price` decimal(8,2) default NULL,
1160   `replacementprice` decimal(8,2) default NULL,
1161   `replacementpricedate` date default NULL,
1162   `datelastborrowed` date default NULL,
1163   `datelastseen` date default NULL,
1164   `stack` tinyint(1) default NULL,
1165   `notforloan` tinyint(1) NOT NULL default 0,
1166   `damaged` tinyint(1) NOT NULL default 0,
1167   `itemlost` tinyint(1) NOT NULL default 0,
1168   `wthdrawn` tinyint(1) NOT NULL default 0,
1169   `itemcallnumber` varchar(30) default NULL,
1170   `issues` smallint(6) default NULL,
1171   `renewals` smallint(6) default NULL,
1172   `reserves` smallint(6) default NULL,
1173   `restricted` tinyint(1) default NULL,
1174   `itemnotes` mediumtext,
1175   `holdingbranch` varchar(10) default NULL,
1176   `paidfor` mediumtext,
1177   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1178   `location` varchar(80) default NULL,
1179   `onloan` date default NULL,
1180   `cn_source` varchar(10) default NULL,
1181   `cn_sort` varchar(30) default NULL,
1182   `ccode` varchar(10) default NULL,
1183   `materials` varchar(10) default NULL,
1184   `uri` varchar(255) default NULL,
1185   `itype` varchar(10) default NULL,
1186   `more_subfields_xml` longtext default NULL,
1187   `enumchron` varchar(80) default NULL,
1188   `copynumber` varchar(32) default NULL,
1189   PRIMARY KEY  (`itemnumber`),
1190   UNIQUE KEY `itembarcodeidx` (`barcode`),
1191   KEY `itembinoidx` (`biblioitemnumber`),
1192   KEY `itembibnoidx` (`biblionumber`),
1193   KEY `homebranch` (`homebranch`),
1194   KEY `holdingbranch` (`holdingbranch`),
1195   CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1196   CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
1197   CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE
1198 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1199
1200 --
1201 -- Table structure for table `itemtypes`
1202 --
1203
1204 DROP TABLE IF EXISTS `itemtypes`;
1205 CREATE TABLE `itemtypes` (
1206   `itemtype` varchar(10) NOT NULL default '',
1207   `description` mediumtext,
1208   `renewalsallowed` smallint(6) default NULL,
1209   `rentalcharge` double(16,4) default NULL,
1210   `notforloan` smallint(6) default NULL,
1211   `imageurl` varchar(200) default NULL,
1212   `summary` text,
1213   PRIMARY KEY  (`itemtype`),
1214   UNIQUE KEY `itemtype` (`itemtype`)
1215 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1216
1217 --
1218 -- Table structure for table `labels`
1219 --
1220
1221 DROP TABLE IF EXISTS `labels`;
1222 CREATE TABLE `labels` (
1223   `labelid` int(11) NOT NULL auto_increment,
1224   `batch_id` varchar(10) NOT NULL default 1,
1225   `itemnumber` varchar(100) NOT NULL default '',
1226   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1227   PRIMARY KEY  (`labelid`)
1228 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1229
1230 --
1231 -- Table structure for table `labels_conf`
1232 --
1233
1234 DROP TABLE IF EXISTS `labels_conf`;
1235 CREATE TABLE `labels_conf` (
1236  `id` int(4) NOT NULL auto_increment,
1237   `barcodetype` char(100) default '',
1238   `title` int(1) default '0',
1239   `subtitle` int(1) default '0',
1240   `itemtype` int(1) default '0',
1241   `barcode` int(1) default '0',
1242   `dewey` int(1) default '0',
1243   `classification` int(1) default NULL,
1244   `subclass` int(1) default '0',
1245   `itemcallnumber` int(1) default '0',
1246   `author` int(1) default '0',
1247   `issn` int(1) default '0',
1248   `isbn` int(1) default '0',
1249   `startlabel` int(2) NOT NULL default '1',
1250   `printingtype` char(32) default 'BAR',
1251   `formatstring` varchar(64) default NULL,
1252   `layoutname` char(20) NOT NULL default 'TEST',
1253   `guidebox` int(1) default '0',
1254   `active` tinyint(1) default '1',
1255   `fonttype` char(10) collate utf8_unicode_ci default NULL,
1256   `ccode` char(4) collate utf8_unicode_ci default NULL,
1257   `callnum_split` int(1) default NULL,
1258   `text_justify` char(1) collate utf8_unicode_ci default NULL,
1259   PRIMARY KEY  (`id`)
1260 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1261
1262 --
1263 -- Table structure for table `labels_profile`
1264 --
1265
1266 DROP TABLE IF EXISTS `labels_profile`;
1267 CREATE TABLE `labels_profile` (
1268   `tmpl_id` int(4) NOT NULL,
1269   `prof_id` int(4) NOT NULL,
1270   UNIQUE KEY `tmpl_id` (`tmpl_id`),
1271   UNIQUE KEY `prof_id` (`prof_id`)
1272 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1273
1274 --
1275 -- Table structure for table `labels_templates`
1276 --
1277
1278 DROP TABLE IF EXISTS `labels_templates`;
1279 CREATE TABLE `labels_templates` (
1280 `tmpl_id` int(4) NOT NULL auto_increment,
1281   `tmpl_code` char(100)  default '',
1282   `tmpl_desc` char(100) default '',
1283   `page_width` float default '0',
1284   `page_height` float default '0',
1285   `label_width` float default '0',
1286   `label_height` float default '0',
1287   `topmargin` float default '0',
1288   `leftmargin` float default '0',
1289   `cols` int(2) default '0',
1290   `rows` int(2) default '0',
1291   `colgap` float default '0',
1292   `rowgap` float default '0',
1293   `active` int(1) default NULL,
1294   `units` char(20)  default 'PX',
1295   `fontsize` int(4) NOT NULL default '3',
1296   `font` char(10) NOT NULL default 'TR',
1297   PRIMARY KEY  (`tmpl_id`)
1298 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1299
1300 --
1301 -- Table structure for table `letter`
1302 --
1303
1304 DROP TABLE IF EXISTS `letter`;
1305 CREATE TABLE `letter` (
1306   `module` varchar(20) NOT NULL default '',
1307   `code` varchar(20) NOT NULL default '',
1308   `name` varchar(100) NOT NULL default '',
1309   `title` varchar(200) NOT NULL default '',
1310   `content` text,
1311   PRIMARY KEY  (`module`,`code`)
1312 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1313
1314 --
1315 -- Table structure for table `marc_subfield_structure`
1316 --
1317
1318 DROP TABLE IF EXISTS `marc_subfield_structure`;
1319 CREATE TABLE `marc_subfield_structure` (
1320   `tagfield` varchar(3) NOT NULL default '',
1321   `tagsubfield` varchar(1) NOT NULL default '' COLLATE utf8_bin,
1322   `liblibrarian` varchar(255) NOT NULL default '',
1323   `libopac` varchar(255) NOT NULL default '',
1324   `repeatable` tinyint(4) NOT NULL default 0,
1325   `mandatory` tinyint(4) NOT NULL default 0,
1326   `kohafield` varchar(40) default NULL,
1327   `tab` tinyint(1) default NULL,
1328   `authorised_value` varchar(20) default NULL,
1329   `authtypecode` varchar(20) default NULL,
1330   `value_builder` varchar(80) default NULL,
1331   `isurl` tinyint(1) default NULL,
1332   `hidden` tinyint(1) default NULL,
1333   `frameworkcode` varchar(4) NOT NULL default '',
1334   `seealso` varchar(1100) default NULL,
1335   `link` varchar(80) default NULL,
1336   `defaultvalue` text default NULL,
1337   PRIMARY KEY  (`frameworkcode`,`tagfield`,`tagsubfield`),
1338   KEY `kohafield_2` (`kohafield`),
1339   KEY `tab` (`frameworkcode`,`tab`),
1340   KEY `kohafield` (`frameworkcode`,`kohafield`)
1341 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1342
1343 --
1344 -- Table structure for table `marc_tag_structure`
1345 --
1346
1347 DROP TABLE IF EXISTS `marc_tag_structure`;
1348 CREATE TABLE `marc_tag_structure` (
1349   `tagfield` varchar(3) NOT NULL default '',
1350   `liblibrarian` varchar(255) NOT NULL default '',
1351   `libopac` varchar(255) NOT NULL default '',
1352   `repeatable` tinyint(4) NOT NULL default 0,
1353   `mandatory` tinyint(4) NOT NULL default 0,
1354   `authorised_value` varchar(10) default NULL,
1355   `frameworkcode` varchar(4) NOT NULL default '',
1356   PRIMARY KEY  (`frameworkcode`,`tagfield`)
1357 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1358
1359 --
1360 -- Table structure for table `marc_matchers`
1361 --
1362
1363 DROP TABLE IF EXISTS `marc_matchers`;
1364 CREATE TABLE `marc_matchers` (
1365   `matcher_id` int(11) NOT NULL auto_increment,
1366   `code` varchar(10) NOT NULL default '',
1367   `description` varchar(255) NOT NULL default '',
1368   `record_type` varchar(10) NOT NULL default 'biblio',
1369   `threshold` int(11) NOT NULL default 0,
1370   PRIMARY KEY (`matcher_id`),
1371   KEY `code` (`code`),
1372   KEY `record_type` (`record_type`)
1373 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1374
1375 --
1376 -- Table structure for table `matchpoints`
1377 --
1378 DROP TABLE IF EXISTS `matchpoints`;
1379 CREATE TABLE `matchpoints` (
1380   `matcher_id` int(11) NOT NULL,
1381   `matchpoint_id` int(11) NOT NULL auto_increment,
1382   `search_index` varchar(30) NOT NULL default '',
1383   `score` int(11) NOT NULL default 0,
1384   PRIMARY KEY (`matchpoint_id`),
1385   CONSTRAINT `matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`)
1386   REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE
1387 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1388
1389
1390 --
1391 -- Table structure for table `matchpoint_components`
1392 --
1393 DROP TABLE IF EXISTS `matchpoint_components`;
1394 CREATE TABLE `matchpoint_components` (
1395   `matchpoint_id` int(11) NOT NULL,
1396   `matchpoint_component_id` int(11) NOT NULL auto_increment,
1397   sequence int(11) NOT NULL default 0,
1398   tag varchar(3) NOT NULL default '',
1399   subfields varchar(40) NOT NULL default '',
1400   offset int(4) NOT NULL default 0,
1401   length int(4) NOT NULL default 0,
1402   PRIMARY KEY (`matchpoint_component_id`),
1403   KEY `by_sequence` (`matchpoint_id`, `sequence`),
1404   CONSTRAINT `matchpoint_components_ifbk_1` FOREIGN KEY (`matchpoint_id`)
1405   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1406 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1407
1408 --
1409 -- Table structure for table `matcher_component_norms`
1410 --
1411 DROP TABLE IF EXISTS `matchpoint_component_norms`;
1412 CREATE TABLE `matchpoint_component_norms` (
1413   `matchpoint_component_id` int(11) NOT NULL,
1414   `sequence`  int(11) NOT NULL default 0,
1415   `norm_routine` varchar(50) NOT NULL default '',
1416   KEY `matchpoint_component_norms` (`matchpoint_component_id`, `sequence`),
1417   CONSTRAINT `matchpoint_component_norms_ifbk_1` FOREIGN KEY (`matchpoint_component_id`)
1418   REFERENCES `matchpoint_components` (`matchpoint_component_id`) ON DELETE CASCADE ON UPDATE CASCADE
1419 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1420
1421 --
1422 -- Table structure for table `matcher_matchpoints`
1423 --
1424 DROP TABLE IF EXISTS `matcher_matchpoints`;
1425 CREATE TABLE `matcher_matchpoints` (
1426   `matcher_id` int(11) NOT NULL,
1427   `matchpoint_id` int(11) NOT NULL,
1428   CONSTRAINT `matcher_matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`)
1429   REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1430   CONSTRAINT `matcher_matchpoints_ifbk_2` FOREIGN KEY (`matchpoint_id`)
1431   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1432 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1433
1434 --
1435 -- Table structure for table `matchchecks`
1436 --
1437 DROP TABLE IF EXISTS `matchchecks`;
1438 CREATE TABLE `matchchecks` (
1439   `matcher_id` int(11) NOT NULL,
1440   `matchcheck_id` int(11) NOT NULL auto_increment,
1441   `source_matchpoint_id` int(11) NOT NULL,
1442   `target_matchpoint_id` int(11) NOT NULL,
1443   PRIMARY KEY (`matchcheck_id`),
1444   CONSTRAINT `matcher_matchchecks_ifbk_1` FOREIGN KEY (`matcher_id`)
1445   REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1446   CONSTRAINT `matcher_matchchecks_ifbk_2` FOREIGN KEY (`source_matchpoint_id`)
1447   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1448   CONSTRAINT `matcher_matchchecks_ifbk_3` FOREIGN KEY (`target_matchpoint_id`)
1449   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1450 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1451
1452 --
1453 -- Table structure for table `notifys`
1454 --
1455
1456 DROP TABLE IF EXISTS `notifys`;
1457 CREATE TABLE `notifys` (
1458   `notify_id` int(11) NOT NULL default 0,
1459   `borrowernumber` int(11) NOT NULL default 0,
1460   `itemnumber` int(11) NOT NULL default 0,
1461   `notify_date` date default NULL,
1462   `notify_send_date` date default NULL,
1463   `notify_level` int(1) NOT NULL default 0,
1464   `method` varchar(20) NOT NULL default ''
1465 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1466
1467 --
1468 -- Table structure for table `nozebra`
1469 --
1470
1471 DROP TABLE IF EXISTS `nozebra`;
1472 CREATE TABLE `nozebra` (
1473                 `server` varchar(20)     NOT NULL,
1474                 `indexname` varchar(40)  NOT NULL,
1475                 `value` varchar(250)     NOT NULL,
1476                 `biblionumbers` longtext NOT NULL,
1477                 KEY `indexname` (`server`,`indexname`),
1478                 KEY `value` (`server`,`value`))
1479                 ENGINE=InnoDB DEFAULT CHARSET=utf8;
1480
1481 --
1482 -- Table structure for table `old_issues`
1483 --
1484
1485 DROP TABLE IF EXISTS `old_issues`;
1486 CREATE TABLE `old_issues` (
1487   `borrowernumber` int(11) default NULL,
1488   `itemnumber` int(11) default NULL,
1489   `date_due` date default NULL,
1490   `branchcode` varchar(10) default NULL,
1491   `issuingbranch` varchar(18) default NULL,
1492   `returndate` date default NULL,
1493   `lastreneweddate` date default NULL,
1494   `return` varchar(4) default NULL,
1495   `renewals` tinyint(4) default NULL,
1496   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1497   `issuedate` date default NULL,
1498   KEY `old_issuesborridx` (`borrowernumber`),
1499   KEY `old_issuesitemidx` (`itemnumber`),
1500   KEY `old_bordate` (`borrowernumber`,`timestamp`),
1501   CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) 
1502     ON DELETE SET NULL ON UPDATE SET NULL,
1503   CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) 
1504     ON DELETE SET NULL ON UPDATE SET NULL
1505 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1506
1507 --
1508 -- Table structure for table `old_reserves`
1509 --
1510 DROP TABLE IF EXISTS `old_reserves`;
1511 CREATE TABLE `old_reserves` (
1512   `borrowernumber` int(11) default NULL,
1513   `reservedate` date default NULL,
1514   `biblionumber` int(11) default NULL,
1515   `constrainttype` varchar(1) default NULL,
1516   `branchcode` varchar(10) default NULL,
1517   `notificationdate` date default NULL,
1518   `reminderdate` date default NULL,
1519   `cancellationdate` date default NULL,
1520   `reservenotes` mediumtext,
1521   `priority` smallint(6) default NULL,
1522   `found` varchar(1) default NULL,
1523   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1524   `itemnumber` int(11) default NULL,
1525   `waitingdate` date default NULL,
1526   KEY `old_reserves_borrowernumber` (`borrowernumber`),
1527   KEY `old_reserves_biblionumber` (`biblionumber`),
1528   KEY `old_reserves_itemnumber` (`itemnumber`),
1529   KEY `old_reserves_branchcode` (`branchcode`),
1530   CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) 
1531     ON DELETE SET NULL ON UPDATE SET NULL,
1532   CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) 
1533     ON DELETE SET NULL ON UPDATE SET NULL,
1534   CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) 
1535     ON DELETE SET NULL ON UPDATE SET NULL
1536 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1537
1538 --
1539 -- Table structure for table `opac_news`
1540 --
1541
1542 DROP TABLE IF EXISTS `opac_news`;
1543 CREATE TABLE `opac_news` (
1544   `idnew` int(10) unsigned NOT NULL auto_increment,
1545   `title` varchar(250) NOT NULL default '',
1546   `new` text NOT NULL,
1547   `lang` varchar(25) NOT NULL default '',
1548   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
1549   `expirationdate` date default NULL,
1550   `number` int(11) default NULL,
1551   PRIMARY KEY  (`idnew`)
1552 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1553
1554 --
1555 -- Table structure for table `overduerules`
1556 --
1557
1558 DROP TABLE IF EXISTS `overduerules`;
1559 CREATE TABLE `overduerules` (
1560   `branchcode` varchar(10) NOT NULL default '',
1561   `categorycode` varchar(10) NOT NULL default '',
1562   `delay1` int(4) default 0,
1563   `letter1` varchar(20) default NULL,
1564   `debarred1` varchar(1) default 0,
1565   `delay2` int(4) default 0,
1566   `debarred2` varchar(1) default 0,
1567   `letter2` varchar(20) default NULL,
1568   `delay3` int(4) default 0,
1569   `letter3` varchar(20) default NULL,
1570   `debarred3` int(1) default 0,
1571   PRIMARY KEY  (`branchcode`,`categorycode`)
1572 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1573
1574 --
1575 -- Table structure for table `patroncards`
1576 --
1577
1578 DROP TABLE IF EXISTS `patroncards`;
1579 CREATE TABLE `patroncards` (
1580   `cardid` int(11) NOT NULL auto_increment,
1581   `batch_id` varchar(10) NOT NULL default '1',
1582   `borrowernumber` int(11) NOT NULL,
1583   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1584    PRIMARY KEY  (`cardid`),
1585    KEY `patroncards_ibfk_1` (`borrowernumber`),
1586    CONSTRAINT `patroncards_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1587 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1588
1589 --
1590 -- Table structure for table `patronimage`
1591 --
1592
1593 DROP TABLE IF EXISTS `patronimage`;
1594 CREATE TABLE `patronimage` (
1595   `cardnumber` varchar(16) NOT NULL,
1596   `mimetype` varchar(15) NOT NULL,
1597   `imagefile` mediumblob NOT NULL,
1598   PRIMARY KEY  (`cardnumber`),
1599   CONSTRAINT `patronimage_fk1` FOREIGN KEY (`cardnumber`) REFERENCES `borrowers` (`cardnumber`) ON DELETE CASCADE ON UPDATE CASCADE
1600 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1601
1602 --
1603 -- Table structure for table `printers`
1604 --
1605
1606 DROP TABLE IF EXISTS `printers`;
1607 CREATE TABLE `printers` (
1608   `printername` varchar(40) NOT NULL default '',
1609   `printqueue` varchar(20) default NULL,
1610   `printtype` varchar(20) default NULL,
1611   PRIMARY KEY  (`printername`)
1612 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1613
1614 --
1615 -- Table structure for table `printers_profile`
1616 --
1617
1618 DROP TABLE IF EXISTS `printers_profile`;
1619 CREATE TABLE `printers_profile` (
1620   `prof_id` int(4) NOT NULL auto_increment,
1621   `printername` varchar(40) NOT NULL,
1622   `tmpl_id` int(4) NOT NULL,
1623   `paper_bin` varchar(20) NOT NULL,
1624   `offset_horz` float default NULL,
1625   `offset_vert` float default NULL,
1626   `creep_horz` float default NULL,
1627   `creep_vert` float default NULL,
1628   `unit` char(20) NOT NULL default 'POINT',
1629   PRIMARY KEY  (`prof_id`),
1630   UNIQUE KEY `printername` (`printername`,`tmpl_id`,`paper_bin`),
1631   CONSTRAINT `printers_profile_pnfk_1` FOREIGN KEY (`tmpl_id`) REFERENCES `labels_templates` (`tmpl_id`) ON DELETE CASCADE ON UPDATE CASCADE
1632 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1633
1634 --
1635 -- Table structure for table `repeatable_holidays`
1636 --
1637
1638 DROP TABLE IF EXISTS `repeatable_holidays`;
1639 CREATE TABLE `repeatable_holidays` (
1640   `id` int(11) NOT NULL auto_increment,
1641   `branchcode` varchar(10) NOT NULL default '',
1642   `weekday` smallint(6) default NULL,
1643   `day` smallint(6) default NULL,
1644   `month` smallint(6) default NULL,
1645   `title` varchar(50) NOT NULL default '',
1646   `description` text NOT NULL,
1647   PRIMARY KEY  (`id`)
1648 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1649
1650 --
1651 -- Table structure for table `reports_dictionary`
1652 -- 
1653
1654 DROP TABLE IF EXISTS `reports_dictionary`;
1655 CREATE TABLE reports_dictionary (
1656    `id` int(11) NOT NULL auto_increment,
1657    `name` varchar(255) default NULL,
1658    `description` text,
1659    `date_created` datetime default NULL,
1660    `date_modified` datetime default NULL,
1661    `saved_sql` text,
1662    `area` int(11) default NULL,
1663    PRIMARY KEY  (`id`)
1664 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1665
1666 --
1667 -- Table structure for table `reserveconstraints`
1668 --
1669
1670 DROP TABLE IF EXISTS `reserveconstraints`;
1671 CREATE TABLE `reserveconstraints` (
1672   `borrowernumber` int(11) NOT NULL default 0,
1673   `reservedate` date default NULL,
1674   `biblionumber` int(11) NOT NULL default 0,
1675   `biblioitemnumber` int(11) default NULL,
1676   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
1677 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1678
1679 --
1680 -- Table structure for table `reserves`
1681 --
1682
1683 DROP TABLE IF EXISTS `reserves`;
1684 CREATE TABLE `reserves` (
1685   `borrowernumber` int(11) NOT NULL default 0,
1686   `reservedate` date default NULL,
1687   `biblionumber` int(11) NOT NULL default 0,
1688   `constrainttype` varchar(1) default NULL,
1689   `branchcode` varchar(10) default NULL,
1690   `notificationdate` date default NULL,
1691   `reminderdate` date default NULL,
1692   `cancellationdate` date default NULL,
1693   `reservenotes` mediumtext,
1694   `priority` smallint(6) default NULL,
1695   `found` varchar(1) default NULL,
1696   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1697   `itemnumber` int(11) default NULL,
1698   `waitingdate` date default NULL,
1699   KEY `borrowernumber` (`borrowernumber`),
1700   KEY `biblionumber` (`biblionumber`),
1701   KEY `itemnumber` (`itemnumber`),
1702   KEY `branchcode` (`branchcode`),
1703   CONSTRAINT `reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1704   CONSTRAINT `reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1705   CONSTRAINT `reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1706   CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1707 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1708
1709 --
1710 -- Table structure for table `reviews`
1711 --
1712
1713 DROP TABLE IF EXISTS `reviews`;
1714 CREATE TABLE `reviews` (
1715   `reviewid` int(11) NOT NULL auto_increment,
1716   `borrowernumber` int(11) default NULL,
1717   `biblionumber` int(11) default NULL,
1718   `review` text,
1719   `approved` tinyint(4) default NULL,
1720   `datereviewed` datetime default NULL,
1721   PRIMARY KEY  (`reviewid`)
1722 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1723
1724 --
1725 -- Table structure for table `roadtype`
1726 --
1727
1728 DROP TABLE IF EXISTS `roadtype`;
1729 CREATE TABLE `roadtype` (
1730   `roadtypeid` int(11) NOT NULL auto_increment,
1731   `road_type` varchar(100) NOT NULL default '',
1732   PRIMARY KEY  (`roadtypeid`)
1733 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1734
1735 --
1736 -- Table structure for table `saved_sql`
1737 --
1738
1739 DROP TABLE IF EXISTS `saved_sql`;
1740 CREATE TABLE saved_sql (
1741    `id` int(11) NOT NULL auto_increment,
1742    `borrowernumber` int(11) default NULL,
1743    `date_created` datetime default NULL,
1744    `last_modified` datetime default NULL,
1745    `savedsql` text,
1746    `last_run` datetime default NULL,
1747    `report_name` varchar(255) default NULL,
1748    `type` varchar(255) default NULL,
1749    `notes` text,
1750    PRIMARY KEY  (`id`),
1751    KEY boridx (`borrowernumber`)
1752 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1753
1754
1755 --
1756 -- Table structure for `saved_reports`
1757 --
1758
1759 DROP TABLE IF EXISTS `saved_reports`;
1760 CREATE TABLE saved_reports (
1761    `id` int(11) NOT NULL auto_increment,
1762    `report_id` int(11) default NULL,
1763    `report` longtext,
1764    `date_run` datetime default NULL,
1765    PRIMARY KEY  (`id`)
1766 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1767                    
1768                    
1769 --
1770 -- Table structure for table `serial`
1771 --
1772
1773 DROP TABLE IF EXISTS `serial`;
1774 CREATE TABLE `serial` (
1775   `serialid` int(11) NOT NULL auto_increment,
1776   `biblionumber` varchar(100) NOT NULL default '',
1777   `subscriptionid` varchar(100) NOT NULL default '',
1778   `serialseq` varchar(100) NOT NULL default '',
1779   `status` tinyint(4) NOT NULL default 0,
1780   `planneddate` date default NULL,
1781   `notes` text,
1782   `publisheddate` date default NULL,
1783   `itemnumber` text default NULL,
1784   `claimdate` date default NULL,
1785   `routingnotes` text,
1786   PRIMARY KEY  (`serialid`)
1787 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1788
1789 --
1790 -- Table structure for table `sessions`
1791 --
1792
1793 DROP TABLE IF EXISTS sessions;                         
1794 CREATE TABLE sessions (
1795   `id` varchar(32) NOT NULL,
1796   `a_session` text NOT NULL,
1797   UNIQUE KEY id (id)
1798 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1799
1800 --
1801 -- Table structure for table `special_holidays`
1802 --
1803
1804 DROP TABLE IF EXISTS `special_holidays`;
1805 CREATE TABLE `special_holidays` (
1806   `id` int(11) NOT NULL auto_increment,
1807   `branchcode` varchar(10) NOT NULL default '',
1808   `day` smallint(6) NOT NULL default 0,
1809   `month` smallint(6) NOT NULL default 0,
1810   `year` smallint(6) NOT NULL default 0,
1811   `isexception` smallint(1) NOT NULL default 1,
1812   `title` varchar(50) NOT NULL default '',
1813   `description` text NOT NULL,
1814   PRIMARY KEY  (`id`)
1815 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1816
1817 --
1818 -- Table structure for table `statistics`
1819 --
1820
1821 DROP TABLE IF EXISTS `statistics`;
1822 CREATE TABLE `statistics` (
1823   `datetime` datetime default NULL,
1824   `branch` varchar(10) default NULL,
1825   `proccode` varchar(4) default NULL,
1826   `value` double(16,4) default NULL,
1827   `type` varchar(16) default NULL,
1828   `other` mediumtext,
1829   `usercode` varchar(10) default NULL,
1830   `itemnumber` int(11) default NULL,
1831   `itemtype` varchar(10) default NULL,
1832   `borrowernumber` int(11) default NULL,
1833   `associatedborrower` int(11) default NULL,
1834   KEY `timeidx` (`datetime`)
1835 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1836
1837 --
1838 -- Table structure for table `stopwords`
1839 --
1840
1841 DROP TABLE IF EXISTS `stopwords`;
1842   CREATE TABLE `stopwords` (
1843   `word` varchar(255) default NULL
1844 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1845
1846 --
1847 -- Table structure for table `subscription`
1848 --
1849
1850 DROP TABLE IF EXISTS `subscription`;
1851 CREATE TABLE `subscription` (
1852   `biblionumber` int(11) NOT NULL default 0,
1853   `subscriptionid` int(11) NOT NULL auto_increment,
1854   `librarian` varchar(100) default '',
1855   `startdate` date default NULL,
1856   `aqbooksellerid` int(11) default 0,
1857   `cost` int(11) default 0,
1858   `aqbudgetid` int(11) default 0,
1859   `weeklength` int(11) default 0,
1860   `monthlength` int(11) default 0,
1861   `numberlength` int(11) default 0,
1862   `periodicity` tinyint(4) default 0,
1863   `dow` varchar(100) default '',
1864   `numberingmethod` varchar(100) default '',
1865   `notes` mediumtext,
1866   `status` varchar(100) NOT NULL default '',
1867   `add1` int(11) default 0,
1868   `every1` int(11) default 0,
1869   `whenmorethan1` int(11) default 0,
1870   `setto1` int(11) default NULL,
1871   `lastvalue1` int(11) default NULL,
1872   `add2` int(11) default 0,
1873   `every2` int(11) default 0,
1874   `whenmorethan2` int(11) default 0,
1875   `setto2` int(11) default NULL,
1876   `lastvalue2` int(11) default NULL,
1877   `add3` int(11) default 0,
1878   `every3` int(11) default 0,
1879   `innerloop1` int(11) default 0,
1880   `innerloop2` int(11) default 0,
1881   `innerloop3` int(11) default 0,
1882   `whenmorethan3` int(11) default 0,
1883   `setto3` int(11) default NULL,
1884   `lastvalue3` int(11) default NULL,
1885   `issuesatonce` tinyint(3) NOT NULL default 1,
1886   `firstacquidate` date default NULL,
1887   `manualhistory` tinyint(1) NOT NULL default 0,
1888   `irregularity` text,
1889   `letter` varchar(20) default NULL,
1890   `numberpattern` tinyint(3) default 0,
1891   `distributedto` text,
1892   `internalnotes` longtext,
1893   `callnumber` text,
1894   `branchcode` varchar(10) NOT NULL default '',
1895   `hemisphere` tinyint(3) default 0,
1896   `lastbranch` varchar(10),
1897   `serialsadditems` tinyint(1) NOT NULL default '0',
1898   `staffdisplaycount` VARCHAR(10) NULL,
1899   `opacdisplaycount` VARCHAR(10) NULL,
1900   PRIMARY KEY  (`subscriptionid`)
1901 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1902
1903 --
1904 -- Table structure for table `subscriptionhistory`
1905 --
1906
1907 DROP TABLE IF EXISTS `subscriptionhistory`;
1908 CREATE TABLE `subscriptionhistory` (
1909   `biblionumber` int(11) NOT NULL default 0,
1910   `subscriptionid` int(11) NOT NULL default 0,
1911   `histstartdate` date default NULL,
1912   `enddate` date default NULL,
1913   `missinglist` longtext NOT NULL,
1914   `recievedlist` longtext NOT NULL,
1915   `opacnote` varchar(150) NOT NULL default '',
1916   `librariannote` varchar(150) NOT NULL default '',
1917   PRIMARY KEY  (`subscriptionid`),
1918   KEY `biblionumber` (`biblionumber`)
1919 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1920
1921 --
1922 -- Table structure for table `subscriptionroutinglist`
1923 --
1924
1925 DROP TABLE IF EXISTS `subscriptionroutinglist`;
1926 CREATE TABLE `subscriptionroutinglist` (
1927   `routingid` int(11) NOT NULL auto_increment,
1928   `borrowernumber` int(11) default NULL,
1929   `ranking` int(11) default NULL,
1930   `subscriptionid` int(11) default NULL,
1931   PRIMARY KEY  (`routingid`)
1932 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1933
1934 --
1935 -- Table structure for table `suggestions`
1936 --
1937
1938 DROP TABLE IF EXISTS `suggestions`;
1939 CREATE TABLE `suggestions` (
1940   `suggestionid` int(8) NOT NULL auto_increment,
1941   `suggestedby` int(11) NOT NULL default 0,
1942   `managedby` int(11) default NULL,
1943   `STATUS` varchar(10) NOT NULL default '',
1944   `note` mediumtext,
1945   `author` varchar(80) default NULL,
1946   `title` varchar(80) default NULL,
1947   `copyrightdate` smallint(6) default NULL,
1948   `publishercode` varchar(255) default NULL,
1949   `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1950   `volumedesc` varchar(255) default NULL,
1951   `publicationyear` smallint(6) default 0,
1952   `place` varchar(255) default NULL,
1953   `isbn` varchar(10) default NULL,
1954   `mailoverseeing` smallint(1) default 0,
1955   `biblionumber` int(11) default NULL,
1956   `reason` text,
1957   PRIMARY KEY  (`suggestionid`),
1958   KEY `suggestedby` (`suggestedby`),
1959   KEY `managedby` (`managedby`)
1960 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1961
1962 --
1963 -- Table structure for table `systempreferences`
1964 --
1965
1966 DROP TABLE IF EXISTS `systempreferences`;
1967 CREATE TABLE `systempreferences` (
1968   `variable` varchar(50) NOT NULL default '',
1969   `value` text,
1970   `options` mediumtext,
1971   `explanation` text,
1972   `type` varchar(20) default NULL,
1973   PRIMARY KEY  (`variable`)
1974 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1975
1976 --
1977 -- Table structure for table `tags`
1978 --
1979
1980 DROP TABLE IF EXISTS `tags`;
1981 CREATE TABLE `tags` (
1982   `entry` varchar(255) NOT NULL default '',
1983   `weight` bigint(20) NOT NULL default 0,
1984   PRIMARY KEY  (`entry`)
1985 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1986
1987 --
1988 -- Table structure for table `tags_all`
1989 --
1990
1991 DROP TABLE IF EXISTS `tags_all`;
1992 CREATE TABLE `tags_all` (
1993   `tag_id`         int(11) NOT NULL auto_increment,
1994   `borrowernumber` int(11) NOT NULL,
1995   `biblionumber`   int(11) NOT NULL,
1996   `term`      varchar(255) NOT NULL,
1997   `language`       int(4) default NULL,
1998   `date_created` datetime  NOT NULL,
1999   PRIMARY KEY  (`tag_id`),
2000   KEY `tags_borrowers_fk_1` (`borrowernumber`),
2001   KEY `tags_biblionumber_fk_1` (`biblionumber`),
2002   CONSTRAINT `tags_borrowers_fk_1` FOREIGN KEY (`borrowernumber`)
2003         REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2004   CONSTRAINT `tags_biblionumber_fk_1` FOREIGN KEY (`biblionumber`)
2005         REFERENCES `biblio`     (`biblionumber`)  ON DELETE CASCADE ON UPDATE CASCADE
2006 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2007
2008 --
2009 -- Table structure for table `tags_approval`
2010 --
2011
2012 DROP TABLE IF EXISTS `tags_approval`;
2013 CREATE TABLE `tags_approval` (
2014   `term`   varchar(255) NOT NULL,
2015   `approved`     int(1) NOT NULL default '0',
2016   `date_approved` datetime       default NULL,
2017   `approved_by` int(11)          default NULL,
2018   `weight_total` int(9) NOT NULL default '1',
2019   PRIMARY KEY  (`term`),
2020   KEY `tags_approval_borrowers_fk_1` (`approved_by`),
2021   CONSTRAINT `tags_approval_borrowers_fk_1` FOREIGN KEY (`approved_by`)
2022         REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
2023 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2024
2025 --
2026 -- Table structure for table `tags_index`
2027 --
2028
2029 DROP TABLE IF EXISTS `tags_index`;
2030 CREATE TABLE `tags_index` (
2031   `term`    varchar(255) NOT NULL,
2032   `biblionumber` int(11) NOT NULL,
2033   `weight`        int(9) NOT NULL default '1',
2034   PRIMARY KEY  (`term`,`biblionumber`),
2035   KEY `tags_index_biblionumber_fk_1` (`biblionumber`),
2036   CONSTRAINT `tags_index_term_fk_1` FOREIGN KEY (`term`)
2037         REFERENCES `tags_approval` (`term`)  ON DELETE CASCADE ON UPDATE CASCADE,
2038   CONSTRAINT `tags_index_biblionumber_fk_1` FOREIGN KEY (`biblionumber`)
2039         REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
2040 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2041
2042 --
2043 -- Table structure for table `userflags`
2044 --
2045
2046 DROP TABLE IF EXISTS `userflags`;
2047 CREATE TABLE `userflags` (
2048   `bit` int(11) NOT NULL default 0,
2049   `flag` varchar(30) default NULL,
2050   `flagdesc` varchar(255) default NULL,
2051   `defaulton` int(11) default NULL,
2052   PRIMARY KEY  (`bit`)
2053 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2054
2055 --
2056 -- Table structure for table `virtualshelves`
2057 --
2058
2059 DROP TABLE IF EXISTS `virtualshelves`;
2060 CREATE TABLE `virtualshelves` (
2061   `shelfnumber` int(11) NOT NULL auto_increment,
2062   `shelfname` varchar(255) default NULL,
2063   `owner` varchar(80) default NULL,
2064   `category` varchar(1) default NULL,
2065   `sortfield` varchar(16) default NULL,
2066   `lastmodified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
2067   PRIMARY KEY  (`shelfnumber`)
2068 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2069
2070 --
2071 -- Table structure for table `virtualshelfcontents`
2072 --
2073
2074 DROP TABLE IF EXISTS `virtualshelfcontents`;
2075 CREATE TABLE `virtualshelfcontents` (
2076   `shelfnumber` int(11) NOT NULL default 0,
2077   `biblionumber` int(11) NOT NULL default 0,
2078   `flags` int(11) default NULL,
2079   `dateadded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
2080   KEY `shelfnumber` (`shelfnumber`),
2081   KEY `biblionumber` (`biblionumber`),
2082   CONSTRAINT `virtualshelfcontents_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `virtualshelves` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2083   CONSTRAINT `shelfcontents_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
2084 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2085
2086 --
2087 -- Table structure for table `z3950servers`
2088 --
2089
2090 DROP TABLE IF EXISTS `z3950servers`;
2091 CREATE TABLE `z3950servers` (
2092   `host` varchar(255) default NULL,
2093   `port` int(11) default NULL,
2094   `db` varchar(255) default NULL,
2095   `userid` varchar(255) default NULL,
2096   `password` varchar(255) default NULL,
2097   `name` mediumtext,
2098   `id` int(11) NOT NULL auto_increment,
2099   `checked` smallint(6) default NULL,
2100   `rank` int(11) default NULL,
2101   `syntax` varchar(80) default NULL,
2102   `icon` text,
2103   `position` enum('primary','secondary','') NOT NULL default 'primary',
2104   `type` enum('zed','opensearch') NOT NULL default 'zed',
2105   `encoding` text default NULL,
2106   `description` text NOT NULL,
2107   PRIMARY KEY  (`id`)
2108 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2109
2110 --
2111 -- Table structure for table `zebraqueue`
2112 --
2113
2114 DROP TABLE IF EXISTS `zebraqueue`;
2115 CREATE TABLE `zebraqueue` (
2116   `id` int(11) NOT NULL auto_increment,
2117   `biblio_auth_number` int(11) NOT NULL default '0',
2118   `operation` char(20) NOT NULL default '',
2119   `server` char(20) NOT NULL default '',
2120   `done` int(11) NOT NULL default '0',
2121   `time` timestamp NOT NULL default CURRENT_TIMESTAMP,
2122   PRIMARY KEY  (`id`),
2123   KEY `zebraqueue_lookup` (`server`, `biblio_auth_number`, `operation`, `done`)
2124 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2125
2126 DROP TABLE IF EXISTS `services_throttle`;
2127 CREATE TABLE `services_throttle` (
2128   `service_type` varchar(10) NOT NULL default '',
2129   `service_count` varchar(45) default NULL,
2130   PRIMARY KEY  (`service_type`)
2131 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2132
2133 -- http://www.w3.org/International/articles/language-tags/
2134
2135 -- RFC4646
2136 DROP TABLE IF EXISTS language_subtag_registry;
2137 CREATE TABLE language_subtag_registry (
2138         subtag varchar(25),
2139         type varchar(25), -- language-script-region-variant-extension-privateuse
2140         description varchar(25), -- only one of the possible descriptions for ease of reference, see language_descriptions for the complete list
2141         added date,
2142         KEY `subtag` (`subtag`)
2143 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2144
2145 -- TODO: add suppress_scripts
2146 -- this maps three letter codes defined in iso639.2 back to their
2147 -- two letter equivilents in rfc4646 (LOC maintains iso639+)
2148 DROP TABLE IF EXISTS language_rfc4646_to_iso639;
2149 CREATE TABLE language_rfc4646_to_iso639 (
2150         rfc4646_subtag varchar(25),
2151         iso639_2_code varchar(25),
2152         KEY `rfc4646_subtag` (`rfc4646_subtag`)
2153 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2154
2155 DROP TABLE IF EXISTS language_descriptions;
2156 CREATE TABLE language_descriptions (
2157         subtag varchar(25),
2158         type varchar(25),
2159         lang varchar(25),
2160         description varchar(255),
2161         KEY `lang` (`lang`)
2162 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2163
2164 -- bi-directional support, keyed by script subcode
2165 DROP TABLE IF EXISTS language_script_bidi;
2166 CREATE TABLE language_script_bidi (
2167         rfc4646_subtag varchar(25), -- script subtag, Arab, Hebr, etc.
2168         bidi varchar(3), -- rtl ltr
2169         KEY `rfc4646_subtag` (`rfc4646_subtag`)
2170 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2171
2172 -- TODO: need to map language subtags to script subtags for detection
2173 -- of bidi when script is not specified (like ar, he)
2174 DROP TABLE IF EXISTS language_script_mapping;
2175 CREATE TABLE language_script_mapping (
2176         language_subtag varchar(25),
2177         script_subtag varchar(25),
2178         KEY `language_subtag` (`language_subtag`)
2179 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2180
2181 DROP TABLE IF EXISTS `permissions`;
2182 CREATE TABLE `permissions` (
2183   `module_bit` int(11) NOT NULL DEFAULT 0,
2184   `code` varchar(64) DEFAULT NULL,
2185   `description` varchar(255) DEFAULT NULL,
2186   PRIMARY KEY  (`module_bit`, `code`),
2187   CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`) REFERENCES `userflags` (`bit`)
2188     ON DELETE CASCADE ON UPDATE CASCADE
2189 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2190
2191 DROP TABLE IF EXISTS `serialitems`;
2192 CREATE TABLE `serialitems` (
2193         `itemnumber` int(11) NOT NULL,
2194         `serialid` int(11) NOT NULL,
2195         UNIQUE KEY `serialitemsidx` (`itemnumber`),
2196         KEY `serialitems_sfk_1` (`serialid`),
2197         CONSTRAINT `serialitems_sfk_1` FOREIGN KEY (`serialid`) REFERENCES `serial` (`serialid`) ON DELETE CASCADE ON UPDATE CASCADE
2198 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2199                   
2200 DROP TABLE IF EXISTS `user_permissions`;
2201 CREATE TABLE `user_permissions` (
2202   `borrowernumber` int(11) NOT NULL DEFAULT 0,
2203   `module_bit` int(11) NOT NULL DEFAULT 0,
2204   `code` varchar(64) DEFAULT NULL,
2205   CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
2206     ON DELETE CASCADE ON UPDATE CASCADE,
2207   CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) REFERENCES `permissions` (`module_bit`, `code`)
2208     ON DELETE CASCADE ON UPDATE CASCADE
2209 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2210
2211 --
2212 -- Table structure for table `tmp_holdsqueue`
2213 --
2214
2215 DROP TABLE IF EXISTS `tmp_holdsqueue`;
2216 CREATE TABLE `tmp_holdsqueue` (
2217   `biblionumber` int(11) default NULL,
2218   `itemnumber` int(11) default NULL,
2219   `barcode` varchar(20) default NULL,
2220   `surname` mediumtext NOT NULL,
2221   `firstname` text,
2222   `phone` text,
2223   `borrowernumber` int(11) NOT NULL,
2224   `cardnumber` varchar(16) default NULL,
2225   `reservedate` date default NULL,
2226   `title` mediumtext,
2227   `itemcallnumber` varchar(30) default NULL,
2228   `holdingbranch` varchar(10) default NULL,
2229   `pickbranch` varchar(10) default NULL,
2230   `notes` text,
2231   `item_level_request` tinyint(4) NOT NULL default 0
2232 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2233
2234 --
2235 -- Table structure for table `message_queue`
2236 --
2237
2238 DROP TABLE IF EXISTS `message_queue`;
2239 CREATE TABLE `message_queue` (
2240   `message_id` int(11) NOT NULL auto_increment,
2241   `borrowernumber` int(11) default NULL,
2242   `subject` text,
2243   `content` text,
2244   `metadata` text DEFAULT NULL,
2245   `letter_code` varchar(64) DEFAULT NULL,
2246   `message_transport_type` varchar(20) NOT NULL,
2247   `status` enum('sent','pending','failed','deleted') NOT NULL default 'pending',
2248   `time_queued` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
2249   `to_address` mediumtext,
2250   `from_address` mediumtext,
2251   `content_type` text,
2252   KEY `message_id` (`message_id`),
2253   KEY `borrowernumber` (`borrowernumber`),
2254   KEY `message_transport_type` (`message_transport_type`),
2255   CONSTRAINT `messageq_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2256   CONSTRAINT `messageq_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE RESTRICT ON UPDATE CASCADE
2257 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2258
2259 --
2260 -- Table structure for table `message_transport_types`
2261 --
2262
2263 DROP TABLE IF EXISTS `message_transport_types`;
2264 CREATE TABLE `message_transport_types` (
2265   `message_transport_type` varchar(20) NOT NULL,
2266   PRIMARY KEY  (`message_transport_type`)
2267 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2268
2269 --
2270 -- Table structure for table `message_attributes`
2271 --
2272
2273 DROP TABLE IF EXISTS `message_attributes`;
2274 CREATE TABLE `message_attributes` (
2275   `message_attribute_id` int(11) NOT NULL auto_increment,
2276   `message_name` varchar(20) NOT NULL default '',
2277   `takes_days` tinyint(1) NOT NULL default '0',
2278   PRIMARY KEY  (`message_attribute_id`),
2279   UNIQUE KEY `message_name` (`message_name`)
2280 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2281
2282 --
2283 -- Table structure for table `message_transports`
2284 --
2285
2286 DROP TABLE IF EXISTS `message_transports`;
2287 CREATE TABLE `message_transports` (
2288   `message_attribute_id` int(11) NOT NULL,
2289   `message_transport_type` varchar(20) NOT NULL,
2290   `is_digest` tinyint(1) NOT NULL default '0',
2291   `letter_module` varchar(20) NOT NULL default '',
2292   `letter_code` varchar(20) NOT NULL default '',
2293   PRIMARY KEY  (`message_attribute_id`,`message_transport_type`,`is_digest`),
2294   KEY `message_transport_type` (`message_transport_type`),
2295   KEY `letter_module` (`letter_module`,`letter_code`),
2296   CONSTRAINT `message_transports_ibfk_1` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE,
2297   CONSTRAINT `message_transports_ibfk_2` FOREIGN KEY (`message_transport_type`) REFERENCES `message_transport_types` (`message_transport_type`) ON DELETE CASCADE ON UPDATE CASCADE,
2298   CONSTRAINT `message_transports_ibfk_3` FOREIGN KEY (`letter_module`, `letter_code`) REFERENCES `letter` (`module`, `code`) ON DELETE CASCADE ON UPDATE CASCADE
2299 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2300
2301 --
2302 -- Table structure for table `borrower_message_preferences`
2303 --
2304
2305 DROP TABLE IF EXISTS `borrower_message_preferences`;
2306 CREATE TABLE `borrower_message_preferences` (
2307   `borrower_message_preference_id` int(11) NOT NULL auto_increment,
2308   `borrowernumber` int(11) NOT NULL default '0',
2309   `message_attribute_id` int(11) default '0',
2310   `days_in_advance` int(11) default '0',
2311   `wants_digest` tinyint(1) NOT NULL default '0',
2312   PRIMARY KEY  (`borrower_message_preference_id`),
2313   KEY `borrowernumber` (`borrowernumber`),
2314   KEY `message_attribute_id` (`message_attribute_id`),
2315   CONSTRAINT `borrower_message_preferences_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2316   CONSTRAINT `borrower_message_preferences_ibfk_2` FOREIGN KEY (`message_attribute_id`) REFERENCES `message_attributes` (`message_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE
2317 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2318
2319 --
2320 -- Table structure for table `borrower_message_transport_preferences`
2321 --
2322
2323 DROP TABLE IF EXISTS `borrower_message_transport_preferences`;
2324 CREATE TABLE `borrower_message_transport_preferences` (
2325   `borrower_message_preference_id` int(11) NOT NULL default '0',
2326   `message_transport_type` varchar(20) NOT NULL default '0',
2327   PRIMARY KEY  (`borrower_message_preference_id`,`message_transport_type`),
2328   KEY `message_transport_type` (`message_transport_type`),
2329   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,
2330   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
2331 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2332
2333 --
2334 -- Table structure for the table branch_transfer_limits
2335 --
2336
2337 DROP TABLE IF EXISTS `branch_transfer_limits`;
2338 CREATE TABLE branch_transfer_limits (
2339     limitId int(8) NOT NULL auto_increment,
2340     toBranch varchar(4) NOT NULL,
2341     fromBranch varchar(4) NOT NULL,
2342     itemtype varchar(4) NULL,
2343     ccode varchar(10) NULL,  
2344     PRIMARY KEY  (limitId)
2345 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2346
2347 --
2348 -- Table structure for table `item_circulation_alert_preferences`
2349 --
2350
2351 DROP TABLE IF EXISTS `item_circulation_alert_preferences`;
2352 CREATE TABLE `item_circulation_alert_preferences` (
2353   `id` int(11) NOT NULL auto_increment,
2354   `branchcode` varchar(10) NOT NULL,
2355   `categorycode` varchar(10) NOT NULL,
2356   `item_type` varchar(10) NOT NULL,
2357   `notification` varchar(16) NOT NULL,
2358   PRIMARY KEY  (`id`),
2359   KEY `branchcode` (`branchcode`,`categorycode`,`item_type`, `notification`)
2360 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2361
2362 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
2363 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
2364 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
2365 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
2366 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
2367 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
2368 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2369 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
2370