bug 2000 - added several circ rules tables (DB rev 090)
[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   CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
424 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
425
426 --
427 -- Table structure for table `borrowers`
428 --
429
430 DROP TABLE IF EXISTS `borrowers`;
431 CREATE TABLE `borrowers` (
432   `borrowernumber` int(11) NOT NULL auto_increment,
433   `cardnumber` varchar(16) default NULL,
434   `surname` mediumtext NOT NULL,
435   `firstname` text,
436   `title` mediumtext,
437   `othernames` mediumtext,
438   `initials` text,
439   `streetnumber` varchar(10) default NULL,
440   `streettype` varchar(50) default NULL,
441   `address` mediumtext NOT NULL,
442   `address2` text,
443   `city` mediumtext NOT NULL,
444   `zipcode` varchar(25) default NULL,
445   `email` mediumtext,
446   `phone` text,
447   `mobile` varchar(50) default NULL,
448   `fax` mediumtext,
449   `emailpro` text,
450   `phonepro` text,
451   `B_streetnumber` varchar(10) default NULL,
452   `B_streettype` varchar(50) default NULL,
453   `B_address` varchar(100) default NULL,
454   `B_city` mediumtext,
455   `B_zipcode` varchar(25) default NULL,
456   `B_email` text,
457   `B_phone` mediumtext,
458   `dateofbirth` date default NULL,
459   `branchcode` varchar(10) NOT NULL default '',
460   `categorycode` varchar(10) NOT NULL default '',
461   `dateenrolled` date default NULL,
462   `dateexpiry` date default NULL,
463   `gonenoaddress` tinyint(1) default NULL,
464   `lost` tinyint(1) default NULL,
465   `debarred` tinyint(1) default NULL,
466   `contactname` mediumtext,
467   `contactfirstname` text,
468   `contacttitle` text,
469   `guarantorid` int(11) default NULL,
470   `borrowernotes` mediumtext,
471   `relationship` varchar(100) default NULL,
472   `ethnicity` varchar(50) default NULL,
473   `ethnotes` varchar(255) default NULL,
474   `sex` varchar(1) default NULL,
475   `password` varchar(30) default NULL,
476   `flags` int(11) default NULL,
477   `userid` varchar(30) default NULL,
478   `opacnote` mediumtext,
479   `contactnote` varchar(255) default NULL,
480   `sort1` varchar(80) default NULL,
481   `sort2` varchar(80) default NULL,
482   `altcontactfirstname` varchar(255) default NULL,
483   `altcontactsurname` varchar(255) default NULL,
484   `altcontactaddress1` varchar(255) default NULL,
485   `altcontactaddress2` varchar(255) default NULL,
486   `altcontactaddress3` varchar(255) default NULL,
487   `altcontactzipcode` varchar(50) default NULL,
488   `altcontactphone` varchar(50) default NULL,
489   UNIQUE KEY `cardnumber` (`cardnumber`),
490   PRIMARY KEY `borrowernumber` (`borrowernumber`),
491   KEY `categorycode` (`categorycode`),
492   KEY `branchcode` (`branchcode`),
493   KEY `userid` (`userid`),
494   CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
495   CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
496 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
497
498 --
499 -- Table structure for table `borrower_attribute_types`
500 --
501
502 DROP TABLE IF EXISTS `borrower_attribute_types`;
503 CREATE TABLE `borrower_attribute_types` (
504   `code` varchar(10) NOT NULL,
505   `description` varchar(255) NOT NULL,
506   `repeatable` tinyint(1) NOT NULL default 0,
507   `unique_id` tinyint(1) NOT NULL default 0,
508   `opac_display` tinyint(1) NOT NULL default 0,
509   `password_allowed` tinyint(1) NOT NULL default 0,
510   `staff_searchable` tinyint(1) NOT NULL default 0,
511   `authorised_value_category` varchar(10) default NULL,
512   PRIMARY KEY  (`code`)
513 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
514
515 --
516 -- Table structure for table `borrower_attributes`
517 --
518
519 DROP TABLE IF EXISTS `borrower_attributes`;
520 CREATE TABLE `borrower_attributes` (
521   `borrowernumber` int(11) NOT NULL,
522   `code` varchar(10) NOT NULL,
523   `attribute` varchar(30) default NULL,
524   `password` varchar(30) default NULL,
525   KEY `borrowernumber` (`borrowernumber`),
526   KEY `code_attribute` (`code`, `attribute`),
527   CONSTRAINT `borrower_attributes_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
528     ON DELETE CASCADE ON UPDATE CASCADE,
529   CONSTRAINT `borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`)
530     ON DELETE CASCADE ON UPDATE CASCADE
531 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
532
533 --
534 -- Table structure for table `branchcategories`
535 --
536
537 DROP TABLE IF EXISTS `branchcategories`;
538 CREATE TABLE `branchcategories` (
539   `categorycode` varchar(10) NOT NULL default '',
540   `categoryname` varchar(32),
541   `codedescription` mediumtext,
542   `categorytype` varchar(16),
543   PRIMARY KEY  (`categorycode`)
544 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
545
546 --
547 -- Table structure for table `branches`
548 --
549
550 DROP TABLE IF EXISTS `branches`;
551 CREATE TABLE `branches` (
552   `branchcode` varchar(10) NOT NULL default '',
553   `branchname` mediumtext NOT NULL,
554   `branchaddress1` mediumtext,
555   `branchaddress2` mediumtext,
556   `branchaddress3` mediumtext,
557   `branchphone` mediumtext,
558   `branchfax` mediumtext,
559   `branchemail` mediumtext,
560   `issuing` tinyint(4) default NULL,
561   `branchip` varchar(15) default NULL,
562   `branchprinter` varchar(100) default NULL,
563   UNIQUE KEY `branchcode` (`branchcode`)
564 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
565
566 --
567 -- Table structure for table `branchrelations`
568 --
569
570 DROP TABLE IF EXISTS `branchrelations`;
571 CREATE TABLE `branchrelations` (
572   `branchcode` varchar(10) NOT NULL default '',
573   `categorycode` varchar(10) NOT NULL default '',
574   PRIMARY KEY  (`branchcode`,`categorycode`),
575   KEY `branchcode` (`branchcode`),
576   KEY `categorycode` (`categorycode`),
577   CONSTRAINT `branchrelations_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
578   CONSTRAINT `branchrelations_ibfk_2` FOREIGN KEY (`categorycode`) REFERENCES `branchcategories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE
579 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
580
581 --
582 -- Table structure for table `branchtransfers`
583 --
584
585 DROP TABLE IF EXISTS `branchtransfers`;
586 CREATE TABLE `branchtransfers` (
587   `itemnumber` int(11) NOT NULL default 0,
588   `datesent` datetime default NULL,
589   `frombranch` varchar(10) NOT NULL default '',
590   `datearrived` datetime default NULL,
591   `tobranch` varchar(10) NOT NULL default '',
592   `comments` mediumtext,
593   KEY `frombranch` (`frombranch`),
594   KEY `tobranch` (`tobranch`),
595   KEY `itemnumber` (`itemnumber`),
596   CONSTRAINT `branchtransfers_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
597   CONSTRAINT `branchtransfers_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
598   CONSTRAINT `branchtransfers_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE
599 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
600
601
602 --
603 -- Table structure for table `browser`
604 --
605 DROP TABLE IF EXISTS `browser`;
606 CREATE TABLE `browser` (
607   `level` int(11) NOT NULL,
608   `classification` varchar(20) NOT NULL,
609   `description` varchar(255) NOT NULL,
610   `number` bigint(20) NOT NULL,
611   `endnode` tinyint(4) NOT NULL
612 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
613
614 --
615 -- Table structure for table `categories`
616 --
617
618 DROP TABLE IF EXISTS `categories`;
619 CREATE TABLE `categories` (
620   `categorycode` varchar(10) NOT NULL default '',
621   `description` mediumtext,
622   `enrolmentperiod` smallint(6) default NULL,
623   `upperagelimit` smallint(6) default NULL,
624   `dateofbirthrequired` tinyint(1) default NULL,
625   `finetype` varchar(30) default NULL,
626   `bulk` tinyint(1) default NULL,
627   `enrolmentfee` decimal(28,6) default NULL,
628   `overduenoticerequired` tinyint(1) default NULL,
629   `issuelimit` smallint(6) default NULL,
630   `reservefee` decimal(28,6) default NULL,
631   `category_type` varchar(1) NOT NULL default 'A',
632   PRIMARY KEY  (`categorycode`),
633   UNIQUE KEY `categorycode` (`categorycode`)
634 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
635
636 --
637 -- Table structure for table `borrower_branch_circ_rules`
638 --
639
640 DROP TABLE IF EXISTS `branch_borrower_circ_rules`;
641 CREATE TABLE `branch_borrower_circ_rules` (
642   `branchcode` VARCHAR(10) NOT NULL,
643   `categorycode` VARCHAR(10) NOT NULL,
644   `maxissueqty` int(4) default NULL,
645   PRIMARY KEY (`categorycode`, `branchcode`),
646   CONSTRAINT `branch_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
647     ON DELETE CASCADE ON UPDATE CASCADE,
648   CONSTRAINT `branch_borrower_circ_rules_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
649     ON DELETE CASCADE ON UPDATE CASCADE
650 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
651
652 --
653 -- Table structure for table `default_borrower_circ_rules`
654 --
655
656 DROP TABLE IF EXISTS `default_borrower_circ_rules`;
657 CREATE TABLE `default_borrower_circ_rules` (
658   `categorycode` VARCHAR(10) NOT NULL,
659   `maxissueqty` int(4) default NULL,
660   PRIMARY KEY (`categorycode`),
661   CONSTRAINT `borrower_borrower_circ_rules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`)
662     ON DELETE CASCADE ON UPDATE CASCADE
663 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
664
665 --
666 -- Table structure for table `default_branch_circ_rules`
667 --
668
669 DROP TABLE IF EXISTS `default_branch_circ_rules`;
670 CREATE TABLE `default_branch_circ_rules` (
671   `branchcode` VARCHAR(10) NOT NULL,
672   `maxissueqty` int(4) default NULL,
673   PRIMARY KEY (`branchcode`),
674   CONSTRAINT `default_branch_circ_rules_ibfk_1` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
675     ON DELETE CASCADE ON UPDATE CASCADE
676 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
677
678 --
679 -- Table structure for table `default_circ_rules`
680 --
681
682 DROP TABLE IF EXISTS `default_circ_rules`;
683 CREATE TABLE `default_circ_rules` (
684     `singleton` enum('singleton') NOT NULL default 'singleton',
685     `maxissueqty` int(4) default NULL,
686     PRIMARY KEY (`singleton`)
687 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
688
689 --
690 -- Table structure for table `cities`
691 --
692
693 DROP TABLE IF EXISTS `cities`;
694 CREATE TABLE `cities` (
695   `cityid` int(11) NOT NULL auto_increment,
696   `city_name` varchar(100) NOT NULL default '',
697   `city_zipcode` varchar(20) default NULL,
698   PRIMARY KEY  (`cityid`)
699 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
700
701 --
702 -- Table structure for table `class_sort_rules`
703 --
704
705 DROP TABLE IF EXISTS `class_sort_rules`;
706 CREATE TABLE `class_sort_rules` (
707   `class_sort_rule` varchar(10) NOT NULL default '',
708   `description` mediumtext,
709   `sort_routine` varchar(30) NOT NULL default '',
710   PRIMARY KEY (`class_sort_rule`),
711   UNIQUE KEY `class_sort_rule_idx` (`class_sort_rule`)
712 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
713
714 --
715 -- Table structure for table `class_sources`
716 --
717
718 DROP TABLE IF EXISTS `class_sources`;
719 CREATE TABLE `class_sources` (
720   `cn_source` varchar(10) NOT NULL default '',
721   `description` mediumtext,
722   `used` tinyint(4) NOT NULL default 0,
723   `class_sort_rule` varchar(10) NOT NULL default '',
724   PRIMARY KEY (`cn_source`),
725   UNIQUE KEY `cn_source_idx` (`cn_source`),
726   KEY `used_idx` (`used`),
727   CONSTRAINT `class_source_ibfk_1` FOREIGN KEY (`class_sort_rule`) REFERENCES `class_sort_rules` (`class_sort_rule`)
728 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
729
730 --
731 -- Table structure for table `currency`
732 --
733
734 DROP TABLE IF EXISTS `currency`;
735 CREATE TABLE `currency` (
736   `currency` varchar(10) NOT NULL default '',
737   `symbol` varchar(5) default NULL,
738   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
739   `rate` float(7,5) default NULL,
740   PRIMARY KEY  (`currency`)
741 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
742
743 --
744 -- Table structure for table `deletedbiblio`
745 --
746
747 DROP TABLE IF EXISTS `deletedbiblio`;
748 CREATE TABLE `deletedbiblio` (
749   `biblionumber` int(11) NOT NULL default 0,
750   `frameworkcode` varchar(4) NOT NULL default '',
751   `author` mediumtext,
752   `title` mediumtext,
753   `unititle` mediumtext,
754   `notes` mediumtext,
755   `serial` tinyint(1) default NULL,
756   `seriestitle` mediumtext,
757   `copyrightdate` smallint(6) default NULL,
758   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
759   `datecreated` DATE NOT NULL,
760   `abstract` mediumtext,
761   PRIMARY KEY  (`biblionumber`),
762   KEY `blbnoidx` (`biblionumber`)
763 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
764
765 --
766 -- Table structure for table `deletedbiblioitems`
767 --
768
769 DROP TABLE IF EXISTS `deletedbiblioitems`;
770 CREATE TABLE `deletedbiblioitems` (
771   `biblioitemnumber` int(11) NOT NULL default 0,
772   `biblionumber` int(11) NOT NULL default 0,
773   `volume` mediumtext,
774   `number` mediumtext,
775   `itemtype` varchar(10) default NULL,
776   `isbn` varchar(14) default NULL,
777   `issn` varchar(9) default NULL,
778   `publicationyear` text,
779   `publishercode` varchar(255) default NULL,
780   `volumedate` date default NULL,
781   `volumedesc` text,
782   `collectiontitle` mediumtext default NULL,
783   `collectionissn` text default NULL,
784   `collectionvolume` mediumtext default NULL,
785   `editionstatement` text default NULL,
786   `editionresponsibility` text default NULL,
787   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
788   `illus` varchar(255) default NULL,
789   `pages` varchar(255) default NULL,
790   `notes` mediumtext,
791   `size` varchar(255) default NULL,
792   `place` varchar(255) default NULL,
793   `lccn` varchar(25) default NULL,
794   `marc` longblob,
795   `url` varchar(255) default NULL,
796   `cn_source` varchar(10) default NULL,
797   `cn_class` varchar(30) default NULL,
798   `cn_item` varchar(10) default NULL,
799   `cn_suffix` varchar(10) default NULL,
800   `cn_sort` varchar(30) default NULL,
801   `totalissues` int(10),
802   `marcxml` longtext NOT NULL,
803   PRIMARY KEY  (`biblioitemnumber`),
804   KEY `bibinoidx` (`biblioitemnumber`),
805   KEY `bibnoidx` (`biblionumber`),
806   KEY `isbn` (`isbn`),
807   KEY `publishercode` (`publishercode`)
808 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
809
810 --
811 -- Table structure for table `deletedborrowers`
812 --
813
814 DROP TABLE IF EXISTS `deletedborrowers`;
815 CREATE TABLE `deletedborrowers` (
816   `borrowernumber` int(11) NOT NULL default 0,
817   `cardnumber` varchar(9) NOT NULL default '',
818   `surname` mediumtext NOT NULL,
819   `firstname` text,
820   `title` mediumtext,
821   `othernames` mediumtext,
822   `initials` text,
823   `streetnumber` varchar(10) default NULL,
824   `streettype` varchar(50) default NULL,
825   `address` mediumtext NOT NULL,
826   `address2` text,
827   `city` mediumtext NOT NULL,
828   `zipcode` varchar(25) default NULL,
829   `email` mediumtext,
830   `phone` text,
831   `mobile` varchar(50) default NULL,
832   `fax` mediumtext,
833   `emailpro` text,
834   `phonepro` text,
835   `B_streetnumber` varchar(10) default NULL,
836   `B_streettype` varchar(50) default NULL,
837   `B_address` varchar(100) default NULL,
838   `B_city` mediumtext,
839   `B_zipcode` varchar(25) default NULL,
840   `B_email` text,
841   `B_phone` mediumtext,
842   `dateofbirth` date default NULL,
843   `branchcode` varchar(10) NOT NULL default '',
844   `categorycode` varchar(2) default NULL,
845   `dateenrolled` date default NULL,
846   `dateexpiry` date default NULL,
847   `gonenoaddress` tinyint(1) default NULL,
848   `lost` tinyint(1) default NULL,
849   `debarred` tinyint(1) default NULL,
850   `contactname` mediumtext,
851   `contactfirstname` text,
852   `contacttitle` text,
853   `guarantorid` int(11) default NULL,
854   `borrowernotes` mediumtext,
855   `relationship` varchar(100) default NULL,
856   `ethnicity` varchar(50) default NULL,
857   `ethnotes` varchar(255) default NULL,
858   `sex` varchar(1) default NULL,
859   `password` varchar(30) default NULL,
860   `flags` int(11) default NULL,
861   `userid` varchar(30) default NULL,
862   `opacnote` mediumtext,
863   `contactnote` varchar(255) default NULL,
864   `sort1` varchar(80) default NULL,
865   `sort2` varchar(80) default NULL,
866   `altcontactfirstname` varchar(255) default NULL,
867   `altcontactsurname` varchar(255) default NULL,
868   `altcontactaddress1` varchar(255) default NULL,
869   `altcontactaddress2` varchar(255) default NULL,
870   `altcontactaddress3` varchar(255) default NULL,
871   `altcontactzipcode` varchar(50) default NULL,
872   `altcontactphone` varchar(50) default NULL,
873   KEY `borrowernumber` (`borrowernumber`),
874   KEY `cardnumber` (`cardnumber`)
875 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
876
877 --
878 -- Table structure for table `deleteditems`
879 --
880
881 DROP TABLE IF EXISTS `deleteditems`;
882 CREATE TABLE `deleteditems` (
883   `itemnumber` int(11) NOT NULL default 0,
884   `biblionumber` int(11) NOT NULL default 0,
885   `biblioitemnumber` int(11) NOT NULL default 0,
886   `barcode` varchar(20) default NULL,
887   `dateaccessioned` date default NULL,
888   `booksellerid` mediumtext default NULL,
889   `homebranch` varchar(10) default NULL,
890   `price` decimal(8,2) default NULL,
891   `replacementprice` decimal(8,2) default NULL,
892   `replacementpricedate` date default NULL,
893   `datelastborrowed` date default NULL,
894   `datelastseen` date default NULL,
895   `stack` tinyint(1) default NULL,
896   `notforloan` tinyint(1) NOT NULL default 0,
897   `damaged` tinyint(1) NOT NULL default 0,
898   `itemlost` tinyint(1) NOT NULL default 0,
899   `wthdrawn` tinyint(1) NOT NULL default 0,
900   `itemcallnumber` varchar(30) default NULL,
901   `issues` smallint(6) default NULL,
902   `renewals` smallint(6) default NULL,
903   `reserves` smallint(6) default NULL,
904   `restricted` tinyint(1) default NULL,
905   `itemnotes` mediumtext,
906   `holdingbranch` varchar(10) default NULL,
907   `paidfor` mediumtext,
908   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
909   `location` varchar(80) default NULL,
910   `onloan` date default NULL,
911   `cn_source` varchar(10) default NULL,
912   `cn_sort` varchar(30) default NULL,
913   `ccode` varchar(10) default NULL,
914   `materials` varchar(10) default NULL,
915   `uri` varchar(255) default NULL,
916   `itype` varchar(10) default NULL,
917   `more_subfields_xml` longtext default NULL,
918   `enumchron` varchar(80) default NULL,
919   `copynumber` smallint(6) default NULL,
920   `marc` longblob,
921   PRIMARY KEY  (`itemnumber`),
922   KEY `delitembarcodeidx` (`barcode`),
923   KEY `delitembinoidx` (`biblioitemnumber`),
924   KEY `delitembibnoidx` (`biblionumber`),
925   KEY `delhomebranch` (`homebranch`),
926   KEY `delholdingbranch` (`holdingbranch`)
927 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
928
929 --
930 -- Table structure for table `ethnicity`
931 --
932
933 DROP TABLE IF EXISTS `ethnicity`;
934 CREATE TABLE `ethnicity` (
935   `code` varchar(10) NOT NULL default '',
936   `name` varchar(255) default NULL,
937   PRIMARY KEY  (`code`)
938 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
939
940 --
941 -- Table structure for table `import_batches`
942 --
943
944 DROP TABLE IF EXISTS `import_batches`;
945 CREATE TABLE `import_batches` (
946   `import_batch_id` int(11) NOT NULL auto_increment,
947   `matcher_id` int(11) default NULL,
948   `template_id` int(11) default NULL,
949   `branchcode` varchar(10) default NULL,
950   `num_biblios` int(11) NOT NULL default 0,
951   `num_items` int(11) NOT NULL default 0,
952   `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
953   `overlay_action` enum('replace', 'create_new', 'use_template', 'ignore') NOT NULL default 'create_new',
954   `nomatch_action` enum('create_new', 'ignore') NOT NULL default 'create_new',
955   `item_action` enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore') NOT NULL default 'always_add',
956   `import_status` enum('staging', 'staged', 'importing', 'imported', 'reverting', 'reverted', 'cleaned') NOT NULL default 'staging',
957   `batch_type` enum('batch', 'z3950') NOT NULL default 'batch',
958   `file_name` varchar(100),
959   `comments` mediumtext,
960   PRIMARY KEY (`import_batch_id`),
961   KEY `branchcode` (`branchcode`)
962 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
963
964 --
965 -- Table structure for table `import_records`
966 --
967
968 DROP TABLE IF EXISTS `import_records`;
969 CREATE TABLE `import_records` (
970   `import_record_id` int(11) NOT NULL auto_increment,
971   `import_batch_id` int(11) NOT NULL,
972   `branchcode` varchar(10) default NULL,
973   `record_sequence` int(11) NOT NULL default 0,
974   `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
975   `import_date` DATE default NULL,
976   `marc` longblob NOT NULL,
977   `marcxml` longtext NOT NULL,
978   `marcxml_old` longtext NOT NULL,
979   `record_type` enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio',
980   `overlay_status` enum('no_match', 'auto_match', 'manual_match', 'match_applied') NOT NULL default 'no_match',
981   `status` enum('error', 'staged', 'imported', 'reverted', 'items_reverted', 'ignored') NOT NULL default 'staged',
982   `import_error` mediumtext,
983   `encoding` varchar(40) NOT NULL default '',
984   `z3950random` varchar(40) default NULL,
985   PRIMARY KEY (`import_record_id`),
986   CONSTRAINT `import_records_ifbk_1` FOREIGN KEY (`import_batch_id`)
987              REFERENCES `import_batches` (`import_batch_id`) ON DELETE CASCADE ON UPDATE CASCADE,
988   KEY `branchcode` (`branchcode`),
989   KEY `batch_sequence` (`import_batch_id`, `record_sequence`)
990 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
991
992 --
993 -- Table structure for `import_record_matches`
994 --
995 DROP TABLE IF EXISTS `import_record_matches`;
996 CREATE TABLE `import_record_matches` (
997   `import_record_id` int(11) NOT NULL,
998   `candidate_match_id` int(11) NOT NULL,
999   `score` int(11) NOT NULL default 0,
1000   CONSTRAINT `import_record_matches_ibfk_1` FOREIGN KEY (`import_record_id`) 
1001              REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1002   KEY `record_score` (`import_record_id`, `score`)
1003 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1004
1005 --
1006 -- Table structure for table `import_biblios`
1007 --
1008
1009 DROP TABLE IF EXISTS `import_biblios`;
1010 CREATE TABLE `import_biblios` (
1011   `import_record_id` int(11) NOT NULL,
1012   `matched_biblionumber` int(11) default NULL,
1013   `control_number` varchar(25) default NULL,
1014   `original_source` varchar(25) default NULL,
1015   `title` varchar(128) default NULL,
1016   `author` varchar(80) default NULL,
1017   `isbn` varchar(14) default NULL,
1018   `issn` varchar(9) default NULL,
1019   `has_items` tinyint(1) NOT NULL default 0,
1020   CONSTRAINT `import_biblios_ibfk_1` FOREIGN KEY (`import_record_id`) 
1021              REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1022   KEY `matched_biblionumber` (`matched_biblionumber`),
1023   KEY `title` (`title`),
1024   KEY `isbn` (`isbn`)
1025 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1026
1027 --
1028 -- Table structure for table `import_items`
1029 --
1030
1031 DROP TABLE IF EXISTS `import_items`;
1032 CREATE TABLE `import_items` (
1033   `import_items_id` int(11) NOT NULL auto_increment,
1034   `import_record_id` int(11) NOT NULL,
1035   `itemnumber` int(11) default NULL,
1036   `branchcode` varchar(10) default NULL,
1037   `status` enum('error', 'staged', 'imported', 'reverted', 'ignored') NOT NULL default 'staged',
1038   `marcxml` longtext NOT NULL,
1039   `import_error` mediumtext,
1040   PRIMARY KEY (`import_items_id`),
1041   CONSTRAINT `import_items_ibfk_1` FOREIGN KEY (`import_record_id`) 
1042              REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1043   KEY `itemnumber` (`itemnumber`),
1044   KEY `branchcode` (`branchcode`)
1045 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1046
1047 --
1048 -- Table structure for table `issues`
1049 --
1050
1051 DROP TABLE IF EXISTS `issues`;
1052 CREATE TABLE `issues` (
1053   `borrowernumber` int(11) default NULL,
1054   `itemnumber` int(11) default NULL,
1055   `date_due` date default NULL,
1056   `branchcode` varchar(10) default NULL,
1057   `issuingbranch` varchar(18) default NULL,
1058   `returndate` date default NULL,
1059   `lastreneweddate` date default NULL,
1060   `return` varchar(4) default NULL,
1061   `renewals` tinyint(4) default NULL,
1062   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1063   `issuedate` date default NULL,
1064   KEY `issuesborridx` (`borrowernumber`),
1065   KEY `issuesitemidx` (`itemnumber`),
1066   KEY `bordate` (`borrowernumber`,`timestamp`),
1067   CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL,
1068   CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL
1069 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1070
1071 --
1072 -- Table structure for table `issuingrules`
1073 --
1074
1075 DROP TABLE IF EXISTS `issuingrules`;
1076 CREATE TABLE `issuingrules` (
1077   `categorycode` varchar(10) NOT NULL default '',
1078   `itemtype` varchar(10) NOT NULL default '',
1079   `restrictedtype` tinyint(1) default NULL,
1080   `rentaldiscount` decimal(28,6) default NULL,
1081   `reservecharge` decimal(28,6) default NULL,
1082   `fine` decimal(28,6) default NULL,
1083   `firstremind` int(11) default NULL,
1084   `chargeperiod` int(11) default NULL,
1085   `accountsent` int(11) default NULL,
1086   `chargename` varchar(100) default NULL,
1087   `maxissueqty` int(4) default NULL,
1088   `issuelength` int(4) default NULL,
1089   `branchcode` varchar(10) NOT NULL default '',
1090   PRIMARY KEY  (`branchcode`,`categorycode`,`itemtype`),
1091   KEY `categorycode` (`categorycode`),
1092   KEY `itemtype` (`itemtype`)
1093 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1094
1095 --
1096 -- Table structure for table `items`
1097 --
1098
1099 DROP TABLE IF EXISTS `items`;
1100 CREATE TABLE `items` (
1101   `itemnumber` int(11) NOT NULL auto_increment,
1102   `biblionumber` int(11) NOT NULL default 0,
1103   `biblioitemnumber` int(11) NOT NULL default 0,
1104   `barcode` varchar(20) default NULL,
1105   `dateaccessioned` date default NULL,
1106   `booksellerid` mediumtext default NULL,
1107   `homebranch` varchar(10) default NULL,
1108   `price` decimal(8,2) default NULL,
1109   `replacementprice` decimal(8,2) default NULL,
1110   `replacementpricedate` date default NULL,
1111   `datelastborrowed` date default NULL,
1112   `datelastseen` date default NULL,
1113   `stack` tinyint(1) default NULL,
1114   `notforloan` tinyint(1) NOT NULL default 0,
1115   `damaged` tinyint(1) NOT NULL default 0,
1116   `itemlost` tinyint(1) NOT NULL default 0,
1117   `wthdrawn` tinyint(1) NOT NULL default 0,
1118   `itemcallnumber` varchar(30) default NULL,
1119   `issues` smallint(6) default NULL,
1120   `renewals` smallint(6) default NULL,
1121   `reserves` smallint(6) default NULL,
1122   `restricted` tinyint(1) default NULL,
1123   `itemnotes` mediumtext,
1124   `holdingbranch` varchar(10) default NULL,
1125   `paidfor` mediumtext,
1126   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1127   `location` varchar(80) default NULL,
1128   `onloan` date default NULL,
1129   `cn_source` varchar(10) default NULL,
1130   `cn_sort` varchar(30) default NULL,
1131   `ccode` varchar(10) default NULL,
1132   `materials` varchar(10) default NULL,
1133   `uri` varchar(255) default NULL,
1134   `itype` varchar(10) default NULL,
1135   `more_subfields_xml` longtext default NULL,
1136   `enumchron` varchar(80) default NULL,
1137   `copynumber` smallint(6) default NULL,
1138   PRIMARY KEY  (`itemnumber`),
1139   UNIQUE KEY `itembarcodeidx` (`barcode`),
1140   KEY `itembinoidx` (`biblioitemnumber`),
1141   KEY `itembibnoidx` (`biblionumber`),
1142   KEY `homebranch` (`homebranch`),
1143   KEY `holdingbranch` (`holdingbranch`),
1144   CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1145   CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
1146   CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE
1147 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1148
1149 --
1150 -- Table structure for table `itemtypes`
1151 --
1152
1153 DROP TABLE IF EXISTS `itemtypes`;
1154 CREATE TABLE `itemtypes` (
1155   `itemtype` varchar(10) NOT NULL default '',
1156   `description` mediumtext,
1157   `renewalsallowed` smallint(6) default NULL,
1158   `rentalcharge` double(16,4) default NULL,
1159   `notforloan` smallint(6) default NULL,
1160   `imageurl` varchar(200) default NULL,
1161   `summary` text,
1162   PRIMARY KEY  (`itemtype`),
1163   UNIQUE KEY `itemtype` (`itemtype`)
1164 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1165
1166 --
1167 -- Table structure for table `labels`
1168 --
1169
1170 DROP TABLE IF EXISTS `labels`;
1171 CREATE TABLE `labels` (
1172   `labelid` int(11) NOT NULL auto_increment,
1173   `batch_id` varchar(10) NOT NULL default 1,
1174   `itemnumber` varchar(100) NOT NULL default '',
1175   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1176   PRIMARY KEY  (`labelid`)
1177 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1178
1179 --
1180 -- Table structure for table `labels_conf`
1181 --
1182
1183 DROP TABLE IF EXISTS `labels_conf`;
1184 CREATE TABLE `labels_conf` (
1185  `id` int(4) NOT NULL auto_increment,
1186   `barcodetype` char(100) default '',
1187   `title` int(1) default '0',
1188   `subtitle` int(1) default '0',
1189   `itemtype` int(1) default '0',
1190   `barcode` int(1) default '0',
1191   `dewey` int(1) default '0',
1192   `classification` int(1) default NULL,
1193   `subclass` int(1) default '0',
1194   `itemcallnumber` int(1) default '0',
1195   `author` int(1) default '0',
1196   `issn` int(1) default '0',
1197   `isbn` int(1) default '0',
1198   `startlabel` int(2) NOT NULL default '1',
1199   `printingtype` char(32) default 'BAR',
1200   `formatstring` varchar(64) default NULL,
1201   `layoutname` char(20) NOT NULL default 'TEST',
1202   `guidebox` int(1) default '0',
1203   `active` tinyint(1) default '1',
1204   `fonttype` char(10) collate utf8_unicode_ci default NULL,
1205   `ccode` char(4) collate utf8_unicode_ci default NULL,
1206   `callnum_split` int(1) default NULL,
1207   `text_justify` char(1) collate utf8_unicode_ci default NULL,
1208   PRIMARY KEY  (`id`)
1209 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1210
1211 --
1212 -- Table structure for table `labels_profile`
1213 --
1214
1215 DROP TABLE IF EXISTS `labels_profile`;
1216 CREATE TABLE `labels_profile` (
1217   `tmpl_id` int(4) NOT NULL,
1218   `prof_id` int(4) NOT NULL,
1219   UNIQUE KEY `tmpl_id` (`tmpl_id`),
1220   UNIQUE KEY `prof_id` (`prof_id`)
1221 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1222
1223 --
1224 -- Table structure for table `labels_templates`
1225 --
1226
1227 DROP TABLE IF EXISTS `labels_templates`;
1228 CREATE TABLE `labels_templates` (
1229 `tmpl_id` int(4) NOT NULL auto_increment,
1230   `tmpl_code` char(100)  default '',
1231   `tmpl_desc` char(100) default '',
1232   `page_width` float default '0',
1233   `page_height` float default '0',
1234   `label_width` float default '0',
1235   `label_height` float default '0',
1236   `topmargin` float default '0',
1237   `leftmargin` float default '0',
1238   `cols` int(2) default '0',
1239   `rows` int(2) default '0',
1240   `colgap` float default '0',
1241   `rowgap` float default '0',
1242   `active` int(1) default NULL,
1243   `units` char(20)  default 'PX',
1244   `fontsize` int(4) NOT NULL default '3',
1245   `font` char(10) NOT NULL default 'TR',
1246   PRIMARY KEY  (`tmpl_id`)
1247 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1248
1249 --
1250 -- Table structure for table `letter`
1251 --
1252
1253 DROP TABLE IF EXISTS `letter`;
1254 CREATE TABLE `letter` (
1255   `module` varchar(20) NOT NULL default '',
1256   `code` varchar(20) NOT NULL default '',
1257   `name` varchar(100) NOT NULL default '',
1258   `title` varchar(200) NOT NULL default '',
1259   `content` text,
1260   PRIMARY KEY  (`module`,`code`)
1261 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1262
1263 --
1264 -- Table structure for table `marc_subfield_structure`
1265 --
1266
1267 DROP TABLE IF EXISTS `marc_subfield_structure`;
1268 CREATE TABLE `marc_subfield_structure` (
1269   `tagfield` varchar(3) NOT NULL default '',
1270   `tagsubfield` varchar(1) NOT NULL default '',
1271   `liblibrarian` varchar(255) NOT NULL default '',
1272   `libopac` varchar(255) NOT NULL default '',
1273   `repeatable` tinyint(4) NOT NULL default 0,
1274   `mandatory` tinyint(4) NOT NULL default 0,
1275   `kohafield` varchar(40) default NULL,
1276   `tab` tinyint(1) default NULL,
1277   `authorised_value` varchar(20) default NULL,
1278   `authtypecode` varchar(20) default NULL,
1279   `value_builder` varchar(80) default NULL,
1280   `isurl` tinyint(1) default NULL,
1281   `hidden` tinyint(1) default NULL,
1282   `frameworkcode` varchar(4) NOT NULL default '',
1283   `seealso` varchar(1100) default NULL,
1284   `link` varchar(80) default NULL,
1285   `defaultvalue` text default NULL,
1286   PRIMARY KEY  (`frameworkcode`,`tagfield`,`tagsubfield`),
1287   KEY `kohafield_2` (`kohafield`),
1288   KEY `tab` (`frameworkcode`,`tab`),
1289   KEY `kohafield` (`frameworkcode`,`kohafield`)
1290 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1291
1292 --
1293 -- Table structure for table `marc_tag_structure`
1294 --
1295
1296 DROP TABLE IF EXISTS `marc_tag_structure`;
1297 CREATE TABLE `marc_tag_structure` (
1298   `tagfield` varchar(3) NOT NULL default '',
1299   `liblibrarian` varchar(255) NOT NULL default '',
1300   `libopac` varchar(255) NOT NULL default '',
1301   `repeatable` tinyint(4) NOT NULL default 0,
1302   `mandatory` tinyint(4) NOT NULL default 0,
1303   `authorised_value` varchar(10) default NULL,
1304   `frameworkcode` varchar(4) NOT NULL default '',
1305   PRIMARY KEY  (`frameworkcode`,`tagfield`)
1306 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1307
1308 --
1309 -- Table structure for table `marc_matchers`
1310 --
1311
1312 DROP TABLE IF EXISTS `marc_matchers`;
1313 CREATE TABLE `marc_matchers` (
1314   `matcher_id` int(11) NOT NULL auto_increment,
1315   `code` varchar(10) NOT NULL default '',
1316   `description` varchar(255) NOT NULL default '',
1317   `record_type` varchar(10) NOT NULL default 'biblio',
1318   `threshold` int(11) NOT NULL default 0,
1319   PRIMARY KEY (`matcher_id`),
1320   KEY `code` (`code`),
1321   KEY `record_type` (`record_type`)
1322 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1323
1324 --
1325 -- Table structure for table `matchpoints`
1326 --
1327 DROP TABLE IF EXISTS `matchpoints`;
1328 CREATE TABLE `matchpoints` (
1329   `matcher_id` int(11) NOT NULL,
1330   `matchpoint_id` int(11) NOT NULL auto_increment,
1331   `search_index` varchar(30) NOT NULL default '',
1332   `score` int(11) NOT NULL default 0,
1333   PRIMARY KEY (`matchpoint_id`),
1334   CONSTRAINT `matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`)
1335   REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE
1336 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1337
1338
1339 --
1340 -- Table structure for table `matchpoint_components`
1341 --
1342 DROP TABLE IF EXISTS `matchpoint_components`;
1343 CREATE TABLE `matchpoint_components` (
1344   `matchpoint_id` int(11) NOT NULL,
1345   `matchpoint_component_id` int(11) NOT NULL auto_increment,
1346   sequence int(11) NOT NULL default 0,
1347   tag varchar(3) NOT NULL default '',
1348   subfields varchar(40) NOT NULL default '',
1349   offset int(4) NOT NULL default 0,
1350   length int(4) NOT NULL default 0,
1351   PRIMARY KEY (`matchpoint_component_id`),
1352   KEY `by_sequence` (`matchpoint_id`, `sequence`),
1353   CONSTRAINT `matchpoint_components_ifbk_1` FOREIGN KEY (`matchpoint_id`)
1354   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1355 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1356
1357 --
1358 -- Table structure for table `matcher_component_norms`
1359 --
1360 DROP TABLE IF EXISTS `matchpoint_component_norms`;
1361 CREATE TABLE `matchpoint_component_norms` (
1362   `matchpoint_component_id` int(11) NOT NULL,
1363   `sequence`  int(11) NOT NULL default 0,
1364   `norm_routine` varchar(50) NOT NULL default '',
1365   KEY `matchpoint_component_norms` (`matchpoint_component_id`, `sequence`),
1366   CONSTRAINT `matchpoint_component_norms_ifbk_1` FOREIGN KEY (`matchpoint_component_id`)
1367   REFERENCES `matchpoint_components` (`matchpoint_component_id`) ON DELETE CASCADE ON UPDATE CASCADE
1368 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1369
1370 --
1371 -- Table structure for table `matcher_matchpoints`
1372 --
1373 DROP TABLE IF EXISTS `matcher_matchpoints`;
1374 CREATE TABLE `matcher_matchpoints` (
1375   `matcher_id` int(11) NOT NULL,
1376   `matchpoint_id` int(11) NOT NULL,
1377   CONSTRAINT `matcher_matchpoints_ifbk_1` FOREIGN KEY (`matcher_id`)
1378   REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1379   CONSTRAINT `matcher_matchpoints_ifbk_2` FOREIGN KEY (`matchpoint_id`)
1380   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1381 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1382
1383 --
1384 -- Table structure for table `matchchecks`
1385 --
1386 DROP TABLE IF EXISTS `matchchecks`;
1387 CREATE TABLE `matchchecks` (
1388   `matcher_id` int(11) NOT NULL,
1389   `matchcheck_id` int(11) NOT NULL auto_increment,
1390   `source_matchpoint_id` int(11) NOT NULL,
1391   `target_matchpoint_id` int(11) NOT NULL,
1392   PRIMARY KEY (`matchcheck_id`),
1393   CONSTRAINT `matcher_matchchecks_ifbk_1` FOREIGN KEY (`matcher_id`)
1394   REFERENCES `marc_matchers` (`matcher_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1395   CONSTRAINT `matcher_matchchecks_ifbk_2` FOREIGN KEY (`source_matchpoint_id`)
1396   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE,
1397   CONSTRAINT `matcher_matchchecks_ifbk_3` FOREIGN KEY (`target_matchpoint_id`)
1398   REFERENCES `matchpoints` (`matchpoint_id`) ON DELETE CASCADE ON UPDATE CASCADE
1399 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1400
1401 --
1402 -- Table structure for table `notifys`
1403 --
1404
1405 DROP TABLE IF EXISTS `notifys`;
1406 CREATE TABLE `notifys` (
1407   `notify_id` int(11) NOT NULL default 0,
1408   `borrowernumber` int(11) NOT NULL default 0,
1409   `itemnumber` int(11) NOT NULL default 0,
1410   `notify_date` date default NULL,
1411   `notify_send_date` date default NULL,
1412   `notify_level` int(1) NOT NULL default 0,
1413   `method` varchar(20) NOT NULL default ''
1414 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1415
1416 --
1417 -- Table structure for table `nozebra`
1418 --
1419
1420 DROP TABLE IF EXISTS `nozebra`;
1421 CREATE TABLE `nozebra` (
1422                 `server` varchar(20)     NOT NULL,
1423                 `indexname` varchar(40)  NOT NULL,
1424                 `value` varchar(250)     NOT NULL,
1425                 `biblionumbers` longtext NOT NULL,
1426                 KEY `indexname` (`server`,`indexname`),
1427                 KEY `value` (`server`,`value`))
1428                 ENGINE=InnoDB DEFAULT CHARSET=utf8;
1429
1430 --
1431 -- Table structure for table `old_issues`
1432 --
1433
1434 DROP TABLE IF EXISTS `old_issues`;
1435 CREATE TABLE `old_issues` (
1436   `borrowernumber` int(11) default NULL,
1437   `itemnumber` int(11) default NULL,
1438   `date_due` date default NULL,
1439   `branchcode` varchar(10) default NULL,
1440   `issuingbranch` varchar(18) default NULL,
1441   `returndate` date default NULL,
1442   `lastreneweddate` date default NULL,
1443   `return` varchar(4) default NULL,
1444   `renewals` tinyint(4) default NULL,
1445   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1446   `issuedate` date default NULL,
1447   KEY `old_issuesborridx` (`borrowernumber`),
1448   KEY `old_issuesitemidx` (`itemnumber`),
1449   KEY `old_bordate` (`borrowernumber`,`timestamp`),
1450   CONSTRAINT `old_issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) 
1451     ON DELETE SET NULL ON UPDATE SET NULL,
1452   CONSTRAINT `old_issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) 
1453     ON DELETE SET NULL ON UPDATE SET NULL
1454 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1455
1456 --
1457 -- Table structure for table `old_reserves`
1458 --
1459 DROP TABLE IF EXISTS `old_reserves`;
1460 CREATE TABLE `old_reserves` (
1461   `borrowernumber` int(11) default NULL,
1462   `reservedate` date default NULL,
1463   `biblionumber` int(11) default NULL,
1464   `constrainttype` varchar(1) default NULL,
1465   `branchcode` varchar(10) default NULL,
1466   `notificationdate` date default NULL,
1467   `reminderdate` date default NULL,
1468   `cancellationdate` date default NULL,
1469   `reservenotes` mediumtext,
1470   `priority` smallint(6) default NULL,
1471   `found` varchar(1) default NULL,
1472   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1473   `itemnumber` int(11) default NULL,
1474   `waitingdate` date default NULL,
1475   KEY `old_reserves_borrowernumber` (`borrowernumber`),
1476   KEY `old_reserves_biblionumber` (`biblionumber`),
1477   KEY `old_reserves_itemnumber` (`itemnumber`),
1478   KEY `old_reserves_branchcode` (`branchcode`),
1479   CONSTRAINT `old_reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) 
1480     ON DELETE SET NULL ON UPDATE SET NULL,
1481   CONSTRAINT `old_reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) 
1482     ON DELETE SET NULL ON UPDATE SET NULL,
1483   CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) 
1484     ON DELETE SET NULL ON UPDATE SET NULL
1485 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1486
1487 --
1488 -- Table structure for table `opac_news`
1489 --
1490
1491 DROP TABLE IF EXISTS `opac_news`;
1492 CREATE TABLE `opac_news` (
1493   `idnew` int(10) unsigned NOT NULL auto_increment,
1494   `title` varchar(250) NOT NULL default '',
1495   `new` text NOT NULL,
1496   `lang` varchar(25) NOT NULL default '',
1497   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
1498   `expirationdate` date default NULL,
1499   `number` int(11) default NULL,
1500   PRIMARY KEY  (`idnew`)
1501 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1502
1503 --
1504 -- Table structure for table `overduerules`
1505 --
1506
1507 DROP TABLE IF EXISTS `overduerules`;
1508 CREATE TABLE `overduerules` (
1509   `branchcode` varchar(10) NOT NULL default '',
1510   `categorycode` varchar(2) NOT NULL default '',
1511   `delay1` int(4) default 0,
1512   `letter1` varchar(20) default NULL,
1513   `debarred1` varchar(1) default 0,
1514   `delay2` int(4) default 0,
1515   `debarred2` varchar(1) default 0,
1516   `letter2` varchar(20) default NULL,
1517   `delay3` int(4) default 0,
1518   `letter3` varchar(20) default NULL,
1519   `debarred3` int(1) default 0,
1520   PRIMARY KEY  (`branchcode`,`categorycode`)
1521 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1522
1523 --
1524 -- Table structure for table `patroncards`
1525 --
1526
1527 DROP TABLE IF EXISTS `patroncards`;
1528 CREATE TABLE `patroncards` (
1529   `cardid` int(11) NOT NULL auto_increment,
1530   `batch_id` varchar(10) NOT NULL default '1',
1531   `borrowernumber` int(11) NOT NULL,
1532   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1533    PRIMARY KEY  (`cardid`),
1534    KEY `patroncards_ibfk_1` (`borrowernumber`),
1535    CONSTRAINT `patroncards_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1536 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1537
1538 --
1539 -- Table structure for table `patronimage`
1540 --
1541
1542 DROP TABLE IF EXISTS `patronimage`;
1543 CREATE TABLE `patronimage` (
1544   `cardnumber` varchar(16) NOT NULL,
1545   `mimetype` varchar(15) NOT NULL,
1546   `imagefile` mediumblob NOT NULL,
1547   PRIMARY KEY  (`cardnumber`),
1548   CONSTRAINT `patronimage_fk1` FOREIGN KEY (`cardnumber`) REFERENCES `borrowers` (`cardnumber`) ON DELETE CASCADE ON UPDATE CASCADE
1549 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1550
1551 --
1552 -- Table structure for table `printers`
1553 --
1554
1555 DROP TABLE IF EXISTS `printers`;
1556 CREATE TABLE `printers` (
1557   `printername` varchar(40) NOT NULL default '',
1558   `printqueue` varchar(20) default NULL,
1559   `printtype` varchar(20) default NULL,
1560   PRIMARY KEY  (`printername`)
1561 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1562
1563 --
1564 -- Table structure for table `printers_profile`
1565 --
1566
1567 DROP TABLE IF EXISTS `printers_profile`;
1568 CREATE TABLE `printers_profile` (
1569   `prof_id` int(4) NOT NULL auto_increment,
1570   `printername` varchar(40) NOT NULL,
1571   `tmpl_id` int(4) NOT NULL,
1572   `paper_bin` varchar(20) NOT NULL,
1573   `offset_horz` float default NULL,
1574   `offset_vert` float default NULL,
1575   `creep_horz` float default NULL,
1576   `creep_vert` float default NULL,
1577   `unit` char(20) NOT NULL default 'POINT',
1578   PRIMARY KEY  (`prof_id`),
1579   UNIQUE KEY `printername` (`printername`,`tmpl_id`,`paper_bin`),
1580   CONSTRAINT `printers_profile_pnfk_1` FOREIGN KEY (`tmpl_id`) REFERENCES `labels_templates` (`tmpl_id`) ON DELETE CASCADE ON UPDATE CASCADE
1581 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1582
1583 --
1584 -- Table structure for table `repeatable_holidays`
1585 --
1586
1587 DROP TABLE IF EXISTS `repeatable_holidays`;
1588 CREATE TABLE `repeatable_holidays` (
1589   `id` int(11) NOT NULL auto_increment,
1590   `branchcode` varchar(10) NOT NULL default '',
1591   `weekday` smallint(6) default NULL,
1592   `day` smallint(6) default NULL,
1593   `month` smallint(6) default NULL,
1594   `title` varchar(50) NOT NULL default '',
1595   `description` text NOT NULL,
1596   PRIMARY KEY  (`id`)
1597 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1598
1599 --
1600 -- Table structure for table `reports_dictionary`
1601 -- 
1602
1603 DROP TABLE IF EXISTS `reports_dictionary`;
1604 CREATE TABLE reports_dictionary (
1605    `id` int(11) NOT NULL auto_increment,
1606    `name` varchar(255) default NULL,
1607    `description` text,
1608    `date_created` datetime default NULL,
1609    `date_modified` datetime default NULL,
1610    `saved_sql` text,
1611    `area` int(11) default NULL,
1612    PRIMARY KEY  (`id`)
1613 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1614
1615 --
1616 -- Table structure for table `reserveconstraints`
1617 --
1618
1619 DROP TABLE IF EXISTS `reserveconstraints`;
1620 CREATE TABLE `reserveconstraints` (
1621   `borrowernumber` int(11) NOT NULL default 0,
1622   `reservedate` date default NULL,
1623   `biblionumber` int(11) NOT NULL default 0,
1624   `biblioitemnumber` int(11) default NULL,
1625   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
1626 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1627
1628 --
1629 -- Table structure for table `reserves`
1630 --
1631
1632 DROP TABLE IF EXISTS `reserves`;
1633 CREATE TABLE `reserves` (
1634   `borrowernumber` int(11) NOT NULL default 0,
1635   `reservedate` date default NULL,
1636   `biblionumber` int(11) NOT NULL default 0,
1637   `constrainttype` varchar(1) default NULL,
1638   `branchcode` varchar(10) default NULL,
1639   `notificationdate` date default NULL,
1640   `reminderdate` date default NULL,
1641   `cancellationdate` date default NULL,
1642   `reservenotes` mediumtext,
1643   `priority` smallint(6) default NULL,
1644   `found` varchar(1) default NULL,
1645   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1646   `itemnumber` int(11) default NULL,
1647   `waitingdate` date default NULL,
1648   KEY `borrowernumber` (`borrowernumber`),
1649   KEY `biblionumber` (`biblionumber`),
1650   KEY `itemnumber` (`itemnumber`),
1651   KEY `branchcode` (`branchcode`),
1652   CONSTRAINT `reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1653   CONSTRAINT `reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1654   CONSTRAINT `reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1655   CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
1656 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1657
1658 --
1659 -- Table structure for table `reviews`
1660 --
1661
1662 DROP TABLE IF EXISTS `reviews`;
1663 CREATE TABLE `reviews` (
1664   `reviewid` int(11) NOT NULL auto_increment,
1665   `borrowernumber` int(11) default NULL,
1666   `biblionumber` int(11) default NULL,
1667   `review` text,
1668   `approved` tinyint(4) default NULL,
1669   `datereviewed` datetime default NULL,
1670   PRIMARY KEY  (`reviewid`)
1671 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1672
1673 --
1674 -- Table structure for table `roadtype`
1675 --
1676
1677 DROP TABLE IF EXISTS `roadtype`;
1678 CREATE TABLE `roadtype` (
1679   `roadtypeid` int(11) NOT NULL auto_increment,
1680   `road_type` varchar(100) NOT NULL default '',
1681   PRIMARY KEY  (`roadtypeid`)
1682 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1683
1684 --
1685 -- Table structure for table `saved_sql`
1686 --
1687
1688 DROP TABLE IF EXISTS `saved_sql`;
1689 CREATE TABLE saved_sql (
1690    `id` int(11) NOT NULL auto_increment,
1691    `borrowernumber` int(11) default NULL,
1692    `date_created` datetime default NULL,
1693    `last_modified` datetime default NULL,
1694    `savedsql` text,
1695    `last_run` datetime default NULL,
1696    `report_name` varchar(255) default NULL,
1697    `type` varchar(255) default NULL,
1698    `notes` text,
1699    PRIMARY KEY  (`id`),
1700    KEY boridx (`borrowernumber`)
1701 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1702
1703
1704 --
1705 -- Table structure for `saved_reports`
1706 --
1707
1708 DROP TABLE IF EXISTS `saved_reports`;
1709 CREATE TABLE saved_reports (
1710    `id` int(11) NOT NULL auto_increment,
1711    `report_id` int(11) default NULL,
1712    `report` longtext,
1713    `date_run` datetime default NULL,
1714    PRIMARY KEY  (`id`)
1715 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1716                    
1717                    
1718 --
1719 -- Table structure for table `serial`
1720 --
1721
1722 DROP TABLE IF EXISTS `serial`;
1723 CREATE TABLE `serial` (
1724   `serialid` int(11) NOT NULL auto_increment,
1725   `biblionumber` varchar(100) NOT NULL default '',
1726   `subscriptionid` varchar(100) NOT NULL default '',
1727   `serialseq` varchar(100) NOT NULL default '',
1728   `status` tinyint(4) NOT NULL default 0,
1729   `planneddate` date default NULL,
1730   `notes` text,
1731   `publisheddate` date default NULL,
1732   `itemnumber` text default NULL,
1733   `claimdate` date default NULL,
1734   `routingnotes` text,
1735   PRIMARY KEY  (`serialid`)
1736 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1737
1738 --
1739 -- Table structure for table `sessions`
1740 --
1741
1742 DROP TABLE IF EXISTS sessions;                         
1743 CREATE TABLE sessions (
1744   `id` varchar(32) NOT NULL,
1745   `a_session` text NOT NULL,
1746   UNIQUE KEY id (id)
1747 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1748
1749 --
1750 -- Table structure for table `special_holidays`
1751 --
1752
1753 DROP TABLE IF EXISTS `special_holidays`;
1754 CREATE TABLE `special_holidays` (
1755   `id` int(11) NOT NULL auto_increment,
1756   `branchcode` varchar(10) NOT NULL default '',
1757   `day` smallint(6) NOT NULL default 0,
1758   `month` smallint(6) NOT NULL default 0,
1759   `year` smallint(6) NOT NULL default 0,
1760   `isexception` smallint(1) NOT NULL default 1,
1761   `title` varchar(50) NOT NULL default '',
1762   `description` text NOT NULL,
1763   PRIMARY KEY  (`id`)
1764 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1765
1766 --
1767 -- Table structure for table `statistics`
1768 --
1769
1770 DROP TABLE IF EXISTS `statistics`;
1771 CREATE TABLE `statistics` (
1772   `datetime` datetime default NULL,
1773   `branch` varchar(10) default NULL,
1774   `proccode` varchar(4) default NULL,
1775   `value` double(16,4) default NULL,
1776   `type` varchar(16) default NULL,
1777   `other` mediumtext,
1778   `usercode` varchar(10) default NULL,
1779   `itemnumber` int(11) default NULL,
1780   `itemtype` varchar(10) default NULL,
1781   `borrowernumber` int(11) default NULL,
1782   `associatedborrower` int(11) default NULL,
1783   KEY `timeidx` (`datetime`)
1784 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1785
1786 --
1787 -- Table structure for table `stopwords`
1788 --
1789
1790 DROP TABLE IF EXISTS `stopwords`;
1791   CREATE TABLE `stopwords` (
1792   `word` varchar(255) default NULL
1793 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1794
1795 --
1796 -- Table structure for table `subscription`
1797 --
1798
1799 DROP TABLE IF EXISTS `subscription`;
1800 CREATE TABLE `subscription` (
1801   `biblionumber` int(11) NOT NULL default 0,
1802   `subscriptionid` int(11) NOT NULL auto_increment,
1803   `librarian` varchar(100) default '',
1804   `startdate` date default NULL,
1805   `aqbooksellerid` int(11) default 0,
1806   `cost` int(11) default 0,
1807   `aqbudgetid` int(11) default 0,
1808   `weeklength` int(11) default 0,
1809   `monthlength` int(11) default 0,
1810   `numberlength` int(11) default 0,
1811   `periodicity` tinyint(4) default 0,
1812   `dow` varchar(100) default '',
1813   `numberingmethod` varchar(100) default '',
1814   `notes` mediumtext,
1815   `status` varchar(100) NOT NULL default '',
1816   `add1` int(11) default 0,
1817   `every1` int(11) default 0,
1818   `whenmorethan1` int(11) default 0,
1819   `setto1` int(11) default NULL,
1820   `lastvalue1` int(11) default NULL,
1821   `add2` int(11) default 0,
1822   `every2` int(11) default 0,
1823   `whenmorethan2` int(11) default 0,
1824   `setto2` int(11) default NULL,
1825   `lastvalue2` int(11) default NULL,
1826   `add3` int(11) default 0,
1827   `every3` int(11) default 0,
1828   `innerloop1` int(11) default 0,
1829   `innerloop2` int(11) default 0,
1830   `innerloop3` int(11) default 0,
1831   `whenmorethan3` int(11) default 0,
1832   `setto3` int(11) default NULL,
1833   `lastvalue3` int(11) default NULL,
1834   `issuesatonce` tinyint(3) NOT NULL default 1,
1835   `firstacquidate` date default NULL,
1836   `manualhistory` tinyint(1) NOT NULL default 0,
1837   `irregularity` text,
1838   `letter` varchar(20) default NULL,
1839   `numberpattern` tinyint(3) default 0,
1840   `distributedto` text,
1841   `internalnotes` longtext,
1842   `callnumber` text,
1843   `branchcode` varchar(10) NOT NULL default '',
1844   `hemisphere` tinyint(3) default 0,
1845   `lastbranch` varchar(10),
1846   `serialsadditems` tinyint(1) NOT NULL default '0',
1847   PRIMARY KEY  (`subscriptionid`)
1848 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1849
1850 --
1851 -- Table structure for table `subscriptionhistory`
1852 --
1853
1854 DROP TABLE IF EXISTS `subscriptionhistory`;
1855 CREATE TABLE `subscriptionhistory` (
1856   `biblionumber` int(11) NOT NULL default 0,
1857   `subscriptionid` int(11) NOT NULL default 0,
1858   `histstartdate` date default NULL,
1859   `enddate` date default NULL,
1860   `missinglist` longtext NOT NULL,
1861   `recievedlist` longtext NOT NULL,
1862   `opacnote` varchar(150) NOT NULL default '',
1863   `librariannote` varchar(150) NOT NULL default '',
1864   PRIMARY KEY  (`subscriptionid`),
1865   KEY `biblionumber` (`biblionumber`)
1866 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1867
1868 --
1869 -- Table structure for table `subscriptionroutinglist`
1870 --
1871
1872 DROP TABLE IF EXISTS `subscriptionroutinglist`;
1873 CREATE TABLE `subscriptionroutinglist` (
1874   `routingid` int(11) NOT NULL auto_increment,
1875   `borrowernumber` int(11) default NULL,
1876   `ranking` int(11) default NULL,
1877   `subscriptionid` int(11) default NULL,
1878   PRIMARY KEY  (`routingid`)
1879 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1880
1881 --
1882 -- Table structure for table `suggestions`
1883 --
1884
1885 DROP TABLE IF EXISTS `suggestions`;
1886 CREATE TABLE `suggestions` (
1887   `suggestionid` int(8) NOT NULL auto_increment,
1888   `suggestedby` int(11) NOT NULL default 0,
1889   `managedby` int(11) default NULL,
1890   `STATUS` varchar(10) NOT NULL default '',
1891   `note` mediumtext,
1892   `author` varchar(80) default NULL,
1893   `title` varchar(80) default NULL,
1894   `copyrightdate` smallint(6) default NULL,
1895   `publishercode` varchar(255) default NULL,
1896   `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
1897   `volumedesc` varchar(255) default NULL,
1898   `publicationyear` smallint(6) default 0,
1899   `place` varchar(255) default NULL,
1900   `isbn` varchar(10) default NULL,
1901   `mailoverseeing` smallint(1) default 0,
1902   `biblionumber` int(11) default NULL,
1903   `reason` text,
1904   PRIMARY KEY  (`suggestionid`),
1905   KEY `suggestedby` (`suggestedby`),
1906   KEY `managedby` (`managedby`)
1907 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1908
1909 --
1910 -- Table structure for table `systempreferences`
1911 --
1912
1913 DROP TABLE IF EXISTS `systempreferences`;
1914 CREATE TABLE `systempreferences` (
1915   `variable` varchar(50) NOT NULL default '',
1916   `value` text,
1917   `options` mediumtext,
1918   `explanation` text,
1919   `type` varchar(20) default NULL,
1920   PRIMARY KEY  (`variable`)
1921 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1922
1923 --
1924 -- Table structure for table `tags`
1925 --
1926
1927 DROP TABLE IF EXISTS `tags`;
1928 CREATE TABLE `tags` (
1929   `entry` varchar(255) NOT NULL default '',
1930   `weight` bigint(20) NOT NULL default 0,
1931   PRIMARY KEY  (`entry`)
1932 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1933
1934 --
1935 -- Table structure for table `tags_all`
1936 --
1937
1938 CREATE TABLE `tags_all` (
1939   `tag_id`         int(11) NOT NULL auto_increment,
1940   `borrowernumber` int(11) NOT NULL,
1941   `biblionumber`   int(11) NOT NULL,
1942   `term`      varchar(255) NOT NULL,
1943   `language`       int(4) default NULL,
1944   `date_created` datetime  NOT NULL,
1945   PRIMARY KEY  (`tag_id`),
1946   KEY `tags_borrowers_fk_1` (`borrowernumber`),
1947   KEY `tags_biblionumber_fk_1` (`biblionumber`),
1948   CONSTRAINT `tags_borrowers_fk_1` FOREIGN KEY (`borrowernumber`)
1949         REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
1950   CONSTRAINT `tags_biblionumber_fk_1` FOREIGN KEY (`biblionumber`)
1951         REFERENCES `biblio`     (`biblionumber`)  ON DELETE CASCADE ON UPDATE CASCADE
1952 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1953
1954 --
1955 -- Table structure for table `tags_approval`
1956 --
1957
1958 CREATE TABLE `tags_approval` (
1959   `term`   varchar(255) NOT NULL,
1960   `approved`     int(1) NOT NULL default '0',
1961   `date_approved` datetime       default NULL,
1962   `approved_by` int(11)          default NULL,
1963   `weight_total` int(9) NOT NULL default '1',
1964   PRIMARY KEY  (`term`),
1965   KEY `tags_approval_borrowers_fk_1` (`approved_by`),
1966   CONSTRAINT `tags_approval_borrowers_fk_1` FOREIGN KEY (`approved_by`)
1967         REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE
1968 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1969
1970 --
1971 -- Table structure for table `tags_index`
1972 --
1973
1974 CREATE TABLE `tags_index` (
1975   `term`    varchar(255) NOT NULL,
1976   `biblionumber` int(11) NOT NULL,
1977   `weight`        int(9) NOT NULL default '1',
1978   PRIMARY KEY  (`term`,`biblionumber`),
1979   KEY `tags_index_biblionumber_fk_1` (`biblionumber`),
1980   CONSTRAINT `tags_index_term_fk_1` FOREIGN KEY (`term`)
1981         REFERENCES `tags_approval` (`term`)  ON DELETE CASCADE ON UPDATE CASCADE,
1982   CONSTRAINT `tags_index_biblionumber_fk_1` FOREIGN KEY (`biblionumber`)
1983         REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
1984 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1985
1986 --
1987 -- Table structure for table `userflags`
1988 --
1989
1990 DROP TABLE IF EXISTS `userflags`;
1991 CREATE TABLE `userflags` (
1992   `bit` int(11) NOT NULL default 0,
1993   `flag` varchar(30) default NULL,
1994   `flagdesc` varchar(255) default NULL,
1995   `defaulton` int(11) default NULL,
1996   PRIMARY KEY  (`bit`)
1997 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1998
1999 --
2000 -- Table structure for table `virtualshelves`
2001 --
2002
2003 DROP TABLE IF EXISTS `virtualshelves`;
2004 CREATE TABLE `virtualshelves` (
2005   `shelfnumber` int(11) NOT NULL auto_increment,
2006   `shelfname` varchar(255) default NULL,
2007   `owner` varchar(80) default NULL,
2008   `category` varchar(1) default NULL,
2009   `sortfield` varchar(16) default NULL,
2010   PRIMARY KEY  (`shelfnumber`)
2011 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2012
2013 --
2014 -- Table structure for table `virtualshelfcontents`
2015 --
2016
2017 DROP TABLE IF EXISTS `virtualshelfcontents`;
2018 CREATE TABLE `virtualshelfcontents` (
2019   `shelfnumber` int(11) NOT NULL default 0,
2020   `biblionumber` int(11) NOT NULL default 0,
2021   `flags` int(11) default NULL,
2022   `dateadded` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
2023   KEY `shelfnumber` (`shelfnumber`),
2024   KEY `biblionumber` (`biblionumber`),
2025   CONSTRAINT `virtualshelfcontents_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `virtualshelves` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
2026   CONSTRAINT `shelfcontents_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE
2027 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2028
2029 --
2030 -- Table structure for table `z3950servers`
2031 --
2032
2033 DROP TABLE IF EXISTS `z3950servers`;
2034 CREATE TABLE `z3950servers` (
2035   `host` varchar(255) default NULL,
2036   `port` int(11) default NULL,
2037   `db` varchar(255) default NULL,
2038   `userid` varchar(255) default NULL,
2039   `password` varchar(255) default NULL,
2040   `name` mediumtext,
2041   `id` int(11) NOT NULL auto_increment,
2042   `checked` smallint(6) default NULL,
2043   `rank` int(11) default NULL,
2044   `syntax` varchar(80) default NULL,
2045   `icon` text,
2046   `position` enum('primary','secondary','') NOT NULL default 'primary',
2047   `type` enum('zed','opensearch') NOT NULL default 'zed',
2048   `encoding` text default NULL,
2049   `description` text NOT NULL,
2050   PRIMARY KEY  (`id`)
2051 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2052
2053 --
2054 -- Table structure for table `zebraqueue`
2055 --
2056
2057 DROP TABLE IF EXISTS `zebraqueue`;
2058 CREATE TABLE `zebraqueue` (
2059   `id` int(11) NOT NULL auto_increment,
2060   `biblio_auth_number` int(11) NOT NULL default '0',
2061   `operation` char(20) NOT NULL default '',
2062   `server` char(20) NOT NULL default '',
2063   `done` int(11) NOT NULL default '0',
2064   `time` timestamp NOT NULL default CURRENT_TIMESTAMP,
2065   PRIMARY KEY  (`id`),
2066   KEY `zebraqueue_lookup` (`server`, `biblio_auth_number`, `operation`, `done`)
2067 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2068
2069 DROP TABLE IF EXISTS `services_throttle`;
2070 CREATE TABLE `services_throttle` (
2071   `service_type` varchar(10) NOT NULL default '',
2072   `service_count` varchar(45) default NULL,
2073   PRIMARY KEY  (`service_type`)
2074 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2075
2076 -- http://www.w3.org/International/articles/language-tags/
2077
2078 -- RFC4646
2079 DROP TABLE IF EXISTS language_subtag_registry;
2080 CREATE TABLE language_subtag_registry (
2081         subtag varchar(25),
2082         type varchar(25), -- language-script-region-variant-extension-privateuse
2083         description varchar(25), -- only one of the possible descriptions for ease of reference, see language_descriptions for the complete list
2084         added date,
2085         KEY `subtag` (`subtag`)
2086 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2087
2088 -- TODO: add suppress_scripts
2089 -- this maps three letter codes defined in iso639.2 back to their
2090 -- two letter equivilents in rfc4646 (LOC maintains iso639+)
2091 DROP TABLE IF EXISTS language_rfc4646_to_iso639;
2092 CREATE TABLE language_rfc4646_to_iso639 (
2093         rfc4646_subtag varchar(25),
2094         iso639_2_code varchar(25),
2095         KEY `rfc4646_subtag` (`rfc4646_subtag`)
2096 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2097
2098 DROP TABLE IF EXISTS language_descriptions;
2099 CREATE TABLE language_descriptions (
2100         subtag varchar(25),
2101         type varchar(25),
2102         lang varchar(25),
2103         description varchar(255),
2104         KEY `lang` (`lang`)
2105 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2106
2107 -- bi-directional support, keyed by script subcode
2108 DROP TABLE IF EXISTS language_script_bidi;
2109 CREATE TABLE language_script_bidi (
2110         rfc4646_subtag varchar(25), -- script subtag, Arab, Hebr, etc.
2111         bidi varchar(3), -- rtl ltr
2112         KEY `rfc4646_subtag` (`rfc4646_subtag`)
2113 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2114
2115 -- TODO: need to map language subtags to script subtags for detection
2116 -- of bidi when script is not specified (like ar, he)
2117 DROP TABLE IF EXISTS language_script_mapping;
2118 CREATE TABLE language_script_mapping (
2119         language_subtag varchar(25),
2120         script_subtag varchar(25),
2121         KEY `language_subtag` (`language_subtag`)
2122 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2123
2124 DROP TABLE IF EXISTS `permissions`;
2125 CREATE TABLE `permissions` (
2126   `module_bit` int(11) NOT NULL DEFAULT 0,
2127   `code` varchar(30) DEFAULT NULL,
2128   `description` varchar(255) DEFAULT NULL,
2129   PRIMARY KEY  (`module_bit`, `code`),
2130   CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`) REFERENCES `userflags` (`bit`)
2131     ON DELETE CASCADE ON UPDATE CASCADE
2132 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2133
2134 DROP TABLE IF EXISTS serialitems;
2135 CREATE TABLE serialitems (
2136         serialid int(11) NOT NULL,
2137         itemnumber int(11) NOT NULL,
2138         UNIQUE KEY `serialididx` (`serialid`)
2139 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2140
2141 DROP TABLE IF EXISTS `user_permissions`;
2142 CREATE TABLE `user_permissions` (
2143   `borrowernumber` int(11) NOT NULL DEFAULT 0,
2144   `module_bit` int(11) NOT NULL DEFAULT 0,
2145   `code` varchar(30) DEFAULT NULL,
2146   CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`)
2147     ON DELETE CASCADE ON UPDATE CASCADE,
2148   CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) REFERENCES `permissions` (`module_bit`, `code`)
2149     ON DELETE CASCADE ON UPDATE CASCADE
2150 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2151
2152 --
2153 -- Table structure for table `tmp_holdsqueue`
2154 --
2155
2156 DROP TABLE IF EXISTS `tmp_holdsqueue`;
2157 CREATE TABLE `tmp_holdsqueue` (
2158   `biblionumber` int(11) default NULL,
2159   `itemnumber` int(11) default NULL,
2160   `barcode` varchar(20) default NULL,
2161   `surname` mediumtext NOT NULL,
2162   `firstname` text,
2163   `phone` text,
2164   `borrowernumber` int(11) NOT NULL,
2165   `cardnumber` varchar(16) default NULL,
2166   `reservedate` date default NULL,
2167   `title` mediumtext,
2168   `itemcallnumber` varchar(30) default NULL,
2169   `holdingbranch` varchar(10) default NULL,
2170   `pickbranch` varchar(10) default NULL,
2171   `notes` text
2172 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2173
2174 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
2175 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
2176 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
2177 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
2178 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
2179 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
2180 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2181 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
2182