Added 'Branch Transfer Limits' Feature requested by Geauga County Library System.
[koha.git] / installer / data / Pg / kohastructure.sql
1 -- PostgreSQL kohastructure script
2 -- Initial port 2007/10/22 fbcit
3 -- This is very 'alpha' at this point since much of the source will have to be mod'd to do data manipulations before it can be fully tested.
4 -- Many tables lack a primary key and probably need one as that is generally a good db practice.
5 -- **This script requires plpgsql be loaded into the pg koha db PRIOR to executing.**
6 -- This could be done in this script. However, the user must have superuser priviledge. I'm not sure how the koha installer handles this.
7
8 --begin;
9
10 --
11 -- Function to generate populate timestamp fields on update
12 --
13
14 CREATE FUNCTION time_stamp() RETURNS trigger AS $time_stamp$
15     BEGIN
16         -- Update timestamp field on row insert or update
17         NEW.timestamp := current_timestamp;
18         RETURN NEW;
19     END;
20 $time_stamp$ LANGUAGE plpgsql;
21
22 COMMENT ON FUNCTION time_stamp() IS $$ This function updates the timestamp field on an insert or update. It equates to mysql 'on update CURRENT_TIMESTAMP'. $$;
23
24 -- 
25 -- Table structure for table accountlines
26 -- 
27
28 --DROP TABLE accountlines;      --Left the DROP TABLE statements here if needed for some reason...
29
30 CREATE TABLE accountlines (
31 borrowernumber int NOT NULL default 0,
32 accountno int NOT NULL default 0,
33 itemnumber int default NULL,
34 date date default NULL,
35 amount decimal(28,6) default NULL,
36 description text,
37 dispute text,
38 accounttype varchar(5) default NULL,
39 amountoutstanding decimal(28,6) default NULL,
40 "timestamp" timestamp NOT NULL default (now()),
41 notify_id int NOT NULL default 0,
42 notify_level int NOT NULL default 0
43 );
44 CREATE INDEX accountlines_itemnumber_idx ON accountlines (itemnumber);  -- Indecies replace msyql 'enums' datatype. Pg 8.3 will have 'enums' so this may be changed back later...
45 CREATE INDEX accountlines_acctsborr_idx ON accountlines (borrowernumber);
46 CREATE INDEX accountlines_time_idx ON accountlines (timestamp);
47
48 --
49 -- Create timestamp trigger
50 --
51
52 CREATE TRIGGER time_stamp BEFORE INSERT OR UPDATE ON accountlines
53     FOR EACH ROW EXECUTE PROCEDURE time_stamp();
54
55 -- 
56 -- Table structure for table accountoffsets
57 -- 
58
59 --DROP TABLE accountoffsets;
60
61 CREATE TABLE accountoffsets (
62 borrowernumber int NOT NULL default 0,
63 accountno int NOT NULL default 0,
64 offsetaccount int NOT NULL default 0,
65 offsetamount decimal(28,6) default NULL,
66 "timestamp" timestamp NOT NULL default (now())
67 );
68
69
70 --
71 -- Create timestamp trigger
72 --
73
74 CREATE TRIGGER time_stamp BEFORE INSERT OR UPDATE ON accountoffsets
75     FOR EACH ROW EXECUTE PROCEDURE time_stamp();
76
77 -- 
78 -- Table structure for table action_logs
79 -- 
80
81 --DROP TABLE action_logs;
82
83 CREATE TABLE action_logs (
84 "timestamp" timestamp NOT NULL default (now()),
85 "user" int NOT NULL default 0,
86 module text,
87 "action" text,
88 "object" int default NULL,
89 info text,
90 PRIMARY KEY (timestamp,"user")
91 );
92
93 --
94 -- Create timestamp trigger
95 --
96
97 CREATE TRIGGER time_stamp BEFORE INSERT OR UPDATE ON action_logs
98     FOR EACH ROW EXECUTE PROCEDURE time_stamp();
99
100 -- 
101 -- Table structure for table alert
102 -- 
103
104 --DROP TABLE alert;
105
106 CREATE TABLE alert (
107 alertid BIGSERIAL,
108 borrowernumber int NOT NULL default 0,
109 "type" varchar(10) NOT NULL default '',
110 externalid varchar(20) NOT NULL default '',
111 PRIMARY KEY (alertid)
112 );
113 CREATE INDEX alert_borrowernumber_idx ON alert (borrowernumber);
114 CREATE INDEX alert_type_idx ON alert (type,externalid);
115
116 -- 
117 -- Table structure for table aqbasket
118 -- 
119
120 --DROP TABLE aqbasket;
121
122 CREATE TABLE aqbasket (
123 basketno BIGSERIAL,
124 creationdate date default NULL,
125 closedate date default NULL,
126 booksellerid int NOT NULL default '1',
127 authorisedby varchar(10) default NULL,
128 booksellerinvoicenumber text,
129 PRIMARY KEY (basketno)
130 );
131 CREATE INDEX aqbasket_booksellerid_idx ON aqbasket (booksellerid);
132
133 -- 
134 -- Table structure for table aqbookfund
135 -- 
136
137 --DROP TABLE aqbookfund;
138
139 CREATE TABLE aqbookfund (
140 bookfundid varchar(10) UNIQUE NOT NULL default '',
141 bookfundname text,
142 bookfundgroup varchar(5) default NULL,
143 branchcode varchar(10) NOT NULL default '',
144 PRIMARY KEY (bookfundid,branchcode)
145 );
146
147 -- 
148 -- Table structure for table aqbooksellers
149 -- 
150
151 --DROP TABLE aqbooksellers;
152
153 CREATE TABLE aqbooksellers (
154 id BIGSERIAL,
155 name text,
156 address1 text,
157 address2 text,
158 address3 text,
159 address4 text,
160 phone varchar(30) default NULL,
161 accountnumber text,
162 othersupplier text,
163 currency varchar(3) NOT NULL default '',
164 deliverydays int default NULL,
165 followupdays int default NULL,
166 followupscancel int default NULL,
167 specialty text,
168 booksellerfax text,
169 notes text,
170 bookselleremail text,
171 booksellerurl text,
172 contact varchar(100) default NULL,
173 postal text,
174 url varchar(255) default NULL,
175 contpos varchar(100) default NULL,
176 contphone varchar(100) default NULL,
177 contfax varchar(100) default NULL,
178 contaltphone varchar(100) default NULL,
179 contemail varchar(100) default NULL,
180 contnotes text,
181 active int default NULL,
182 listprice varchar(10) default NULL,
183 invoiceprice varchar(10) default NULL,
184 gstreg int default NULL,
185 listincgst int default NULL,
186 invoiceincgst int default NULL,
187 discount numeric(6,4) default NULL,
188 fax varchar(50) default NULL,
189 nocalc int default NULL,
190 invoicedisc numeric(6,4) default NULL,
191 PRIMARY KEY (id)
192 );
193 CREATE INDEX aqbooksellers_invoiceprice_idx ON aqbooksellers (invoiceprice);
194 CREATE INDEX aqbooksellers_listprice_idx ON aqbooksellers (listprice);
195
196 -- 
197 -- Table structure for table aqbudget
198 -- 
199
200 --DROP TABLE aqbudget;
201
202 CREATE TABLE aqbudget (
203 bookfundid varchar(10) NOT NULL default '',
204 startdate date default NULL,
205 enddate date default NULL,
206 budgetamount decimal(13,2) default NULL,
207 aqbudgetid BIGSERIAL,
208 branchcode varchar(10) default NULL,
209 PRIMARY KEY (aqbudgetid)
210 );
211
212 -- 
213 -- Table structure for table aqorderbreakdown
214 -- 
215
216 --DROP TABLE aqorderbreakdown;
217
218 CREATE TABLE aqorderbreakdown (
219 ordernumber int default NULL,
220 "linenumber" int default NULL,
221 branchcode varchar(10) default NULL,
222 bookfundid varchar(10) NOT NULL default '',
223 allocation int default NULL
224 );
225 CREATE INDEX aqorderbreakdown_bookfundid_idx ON aqorderbreakdown (bookfundid);
226 CREATE INDEX aqorderbreakdown_ordernumber_idx ON aqorderbreakdown (ordernumber);
227
228 -- 
229 -- Table structure for table aqorderdelivery
230 -- 
231
232 --DROP TABLE aqorderdelivery;
233
234 CREATE TABLE aqorderdelivery (
235 ordernumber date default NULL,
236 deliverynumber int NOT NULL default 0,
237 deliverydate varchar(18) default NULL,
238 qtydelivered int default NULL,
239 deliverycomments text
240 );
241
242 -- 
243 -- Table structure for table aqorders
244 -- 
245
246 --DROP TABLE aqorders;
247
248 CREATE TABLE aqorders (
249 ordernumber BIGSERIAL,
250 biblionumber int default NULL,
251 title text,
252 entrydate date default NULL,
253 quantity int default NULL,
254 currency varchar(3) default NULL,
255 listprice decimal(28,6) default NULL,
256 totalamount decimal(28,6) default NULL,
257 datereceived date default NULL,
258 booksellerinvoicenumber text,
259 freight decimal(28,6) default NULL,
260 unitprice decimal(28,6) default NULL,
261 quantityreceived int default NULL,
262 cancelledby varchar(10) default NULL,
263 datecancellationprinted date default NULL,
264 notes text,
265 supplierreference text,
266 purchaseordernumber text,
267 subscription int default NULL,
268 serialid varchar(30) default NULL,
269 basketno int default NULL,
270 biblioitemnumber int default NULL,
271 "timestamp" timestamp NOT NULL default (now()),
272 rrp decimal(13,2) default NULL,
273 ecost decimal(13,2) default NULL,
274 gst decimal(13,2) default NULL,
275 budgetdate date default NULL,
276 sort1 varchar(80) default NULL,
277 sort2 varchar(80) default NULL,
278 PRIMARY KEY (ordernumber)
279 );
280 CREATE INDEX aqorders_biblionumber_idx ON aqorders (biblionumber);
281 CREATE INDEX aqorders_basketno_idx ON aqorders (basketno);
282
283 -- 
284 -- Table structure for table auth_header
285 -- 
286
287 --DROP TABLE auth_header;
288
289 CREATE TABLE auth_header (
290 authid BIGSERIAL NOT NULL,
291 authtypecode varchar(10) NOT NULL default '',
292 datecreated date default NULL,
293 datemodified date default NULL,
294 origincode varchar(20) default NULL,
295 authtrees text,
296 marc bytea,
297 linkid int default NULL,
298 marcxml text NOT NULL,
299 PRIMARY KEY (authid)
300 );
301 CREATE INDEX auth_header_origincode_idx ON auth_header (origincode);
302
303 -- 
304 -- Table structure for table auth_subfield_structure
305 -- 
306
307 --DROP TABLE auth_subfield_structure;
308
309 CREATE TABLE auth_subfield_structure (
310 authtypecode varchar(10) NOT NULL default '',
311 tagfield varchar(3) NOT NULL default '',
312 tagsubfield varchar(1) NOT NULL default '',
313 liblibrarian varchar(255) NOT NULL default '',
314 libopac varchar(255) NOT NULL default '',
315 "repeatable" int NOT NULL default 0,
316 mandatory int NOT NULL default 0,
317 tab int default NULL,
318 authorised_value varchar(10) default NULL,
319 value_builder varchar(80) default NULL,
320 seealso varchar(255) default NULL,
321 isurl int default NULL,
322 hidden int NOT NULL default 0,
323 linkid int NOT NULL default 0,
324 kohafield varchar(45) NULL default '',
325 frameworkcode varchar(8) NOT NULL default '',
326 PRIMARY KEY (authtypecode,tagfield,tagsubfield)
327 );
328 CREATE INDEX auth_subfield_structure_tab_idx ON auth_subfield_structure (authtypecode,tab);
329
330 -- 
331 -- Table structure for table auth_tag_structure
332 -- 
333
334 --DROP TABLE auth_tag_structure;
335
336 CREATE TABLE auth_tag_structure (
337 authtypecode varchar(10) NOT NULL default '',
338 tagfield varchar(3) NOT NULL default '',
339 liblibrarian varchar(255) NOT NULL default '',
340 libopac varchar(255) NOT NULL default '',
341 "repeatable" int NOT NULL default 0,
342 mandatory int NOT NULL default 0,
343 authorised_value varchar(10) default NULL,
344 PRIMARY KEY (authtypecode,tagfield)
345 );
346
347 -- 
348 -- Table structure for table auth_types
349 -- 
350
351 --DROP TABLE auth_types;
352
353 CREATE TABLE auth_types (
354 authtypecode varchar(10) NOT NULL default '',
355 authtypetext varchar(255) NOT NULL default '',
356 auth_tag_to_report varchar(3) NOT NULL default '',
357 summary text NOT NULL,
358 PRIMARY KEY (authtypecode)
359 );
360
361 -- 
362 -- Table structure for table authorised_values
363 -- 
364
365 --DROP TABLE authorised_values;
366
367 CREATE TABLE authorised_values (
368 id BIGSERIAL,
369 category varchar(10) NOT NULL default '',
370 authorised_value varchar(80) NOT NULL default '',
371 lib varchar(80) default NULL,
372 PRIMARY KEY (id)
373 );
374 CREATE INDEX authorised_values_name_idx ON authorised_values (category);
375
376 -- 
377 -- Table structure for table biblio
378 -- 
379
380 --DROP TABLE biblio;
381
382 CREATE TABLE biblio (
383 biblionumber int NOT NULL default 0,
384 frameworkcode varchar(4) NOT NULL default '',
385 author text,
386 title text,
387 unititle text,
388 notes text,
389 serial int default NULL,
390 seriestitle text,
391 copyrightdate int default NULL,
392 "timestamp" timestamp NOT NULL default (now()),
393 datecreated DATE NOT NULL,
394 abstract text,
395 PRIMARY KEY (biblionumber)
396 );
397 CREATE INDEX biblio_blbnoidx_idx ON biblio (biblionumber);
398
399 -- 
400 -- Table structure for table biblio_framework
401 -- 
402
403 --DROP TABLE biblio_framework;
404
405 CREATE TABLE biblio_framework (
406 frameworkcode varchar(4) NOT NULL default '',
407 frameworktext varchar(255) NOT NULL default '',
408 PRIMARY KEY (frameworkcode)
409 );
410
411 -- 
412 -- Table structure for table biblioitems
413 -- 
414
415 --DROP TABLE biblioitems;
416
417 CREATE TABLE biblioitems (
418 biblioitemnumber int NOT NULL default 0,
419 biblionumber int NOT NULL default 0,
420 volume text,
421 number text,
422 classification varchar(25) default NULL,
423 itemtype varchar(10) default NULL,
424 isbn varchar(14) default NULL,
425 issn varchar(9) default NULL,
426 dewey varchar(30) default '',
427 subclass varchar(3) default NULL,
428 publicationyear text,
429 publishercode varchar(255) default NULL,
430 volumedate date default NULL,
431 volumeddesc text,
432 collectiontitle text default NULL,
433 collectionissn text default NULL,
434 collectionvolume text default NULL,
435 editionstatement text default NULL,
436 editionresponsibility text default NULL,
437 "timestamp" timestamp NOT NULL default (now()),
438 illus varchar(255) default NULL,
439 pages varchar(255) default NULL,
440 notes text,
441 size varchar(255) default NULL,
442 place varchar(255) default NULL,
443 lccn varchar(25) default NULL,
444 marc bytea,
445 url varchar(255) default NULL,
446 lcsort varchar(25) default NULL,
447 ccode varchar(4) default NULL,
448 marcxml text NOT NULL,
449 PRIMARY KEY (biblioitemnumber)
450 );
451 CREATE INDEX biblioitems_publishercode_idx ON biblioitems (publishercode);
452 CREATE INDEX biblioitems_biblioitemnumber_idx ON biblioitems (biblioitemnumber);
453 CREATE INDEX biblioitems_biblionumber_idx ON biblioitems (biblionumber);
454 CREATE INDEX biblioitems_isbn_idx ON biblioitems (isbn);
455
456 -- 
457 -- Table structure for table borrowers
458 -- 
459
460 --DROP TABLE borrowers;
461
462 CREATE TABLE borrowers (
463 borrowernumber BIGSERIAL UNIQUE,
464 cardnumber varchar(16) UNIQUE default NULL,
465 surname text NOT NULL,
466 firstname text,
467 title text,
468 othernames text,
469 initials text,
470 streetnumber varchar(10) default NULL,
471 streettype varchar(50) default NULL,
472 address text NOT NULL,
473 address2 text,
474 city text NOT NULL,
475 zipcode varchar(25) default NULL,
476 email text,
477 phone text,
478 mobile varchar(50) default NULL,
479 fax text,
480 emailpro text,
481 phonepro text,
482 B_streetnumber varchar(10) default NULL,
483 B_streettype varchar(50) default NULL,
484 B_address varchar(100) default NULL,
485 B_city text,
486 B_zipcode varchar(25) default NULL,
487 B_email text,
488 B_phone text,
489 dateofbirth date default NULL,
490 branchcode varchar(10) NOT NULL default '',
491 categorycode varchar(10) NOT NULL default '',
492 dateenrolled date default NULL,
493 dateexpiry date default NULL,
494 gonenoaddress int default NULL,
495 lost int default NULL,
496 debarred int default NULL,
497 contactname text,
498 contactfirstname text,
499 contacttitle text,
500 guarantorid int default NULL,
501 borrowernotes text,
502 relationship varchar(100) default NULL,
503 ethnicity varchar(50) default NULL,
504 ethnotes varchar(255) default NULL,
505 sex varchar(1) default NULL,
506 "password" varchar(30) default NULL,
507 flags int default NULL,
508 userid varchar(30) default NULL,
509 opacnote text,
510 contactnote varchar(255) default NULL,
511 sort1 varchar(80) default NULL,
512 sort2 varchar(80) default NULL
513 );
514 CREATE INDEX borrowers_branchcode_idx ON borrowers (branchcode);
515 CREATE INDEX borrowers_borrowernumber_idx ON borrowers (borrowernumber);
516 CREATE INDEX borrowers_categorycode_idx ON borrowers (categorycode);
517
518 -- 
519 -- Table structure for table branchcategories
520 -- 
521
522 --DROP TABLE branchcategories;
523
524 CREATE TABLE branchcategories (
525 categorycode varchar(4) NOT NULL default '',
526 categoryname text,
527 codedescription text,
528 PRIMARY KEY (categorycode)
529 );
530
531 -- 
532 -- Table structure for table branches
533 -- 
534
535 --DROP TABLE branches;
536
537 CREATE TABLE branches (
538 branchcode varchar(10) UNIQUE NOT NULL default '',
539 branchname text NOT NULL,
540 branchaddress1 text,
541 branchaddress2 text,
542 branchaddress3 text,
543 branchphone text,
544 branchfax text,
545 branchemail text,
546 issuing int default NULL,
547 branchip varchar(15) default NULL,
548 branchprinter varchar(100) default NULL
549 );
550
551 -- 
552 -- Table structure for table branchrelations
553 -- 
554
555 --DROP TABLE branchrelations;
556
557 CREATE TABLE branchrelations (
558 branchcode varchar(10) NOT NULL default '',
559 categorycode varchar(4) NOT NULL default '',
560 PRIMARY KEY (branchcode,categorycode)
561 );
562 CREATE INDEX branchrelations_categorycode_idx ON branchrelations (categorycode);
563 CREATE INDEX branchrelations_branchcode_idx ON branchrelations (branchcode);
564
565 -- 
566 -- Table structure for table branchtransfers
567 -- 
568
569 --DROP TABLE branchtransfers;
570
571 CREATE TABLE branchtransfers (
572 itemnumber int NOT NULL default 0,
573 datesent timestamp default NULL,
574 frombranch varchar(10) NOT NULL default '',
575 datearrived timestamp default NULL,
576 tobranch varchar(10) NOT NULL default '',
577 comments text
578 );
579 CREATE INDEX branchtransfers_frombranch_idx ON branchtransfers (frombranch);
580 CREATE INDEX branchtransfers_tobranch_idx ON branchtransfers (tobranch);
581 CREATE INDEX branchtransfers_itemnumber_idx ON branchtransfers (itemnumber);
582
583 -- 
584 -- Table structure for table browser
585 -- 
586 --DROP TABLE browser;
587
588 CREATE TABLE browser (
589 level int NOT NULL,
590 classification varchar(20) NOT NULL,
591 description varchar(255) NOT NULL,
592 number int NOT NULL,
593 endnode int NOT NULL
594 );
595
596 -- 
597 -- Table structure for table categories
598 -- 
599
600 --DROP TABLE categories;
601
602 CREATE TABLE categories (
603 categorycode varchar(10) UNIQUE NOT NULL default '',
604 description text,
605 enrolmentperiod int default NULL,
606 upperagelimit int default NULL,
607 dateofbirthrequired int default NULL,
608 finetype varchar(30) default NULL,
609 bulk int default NULL,
610 enrolmentfee decimal(28,6) default NULL,
611 overduenoticerequired int default NULL,
612 issuelimit int default NULL,
613 reservefee decimal(28,6) default NULL,
614 category_type varchar(1) NOT NULL default 'A',
615 PRIMARY KEY (categorycode)
616 );
617
618 -- 
619 -- Table structure for table cities
620 -- 
621
622 --DROP TABLE cities;
623
624 CREATE TABLE cities (
625 cityid BIGSERIAL,
626 city_name varchar(100) NOT NULL default '',
627 city_zipcode varchar(20) default NULL,
628 PRIMARY KEY (cityid)
629 );
630
631 --
632 -- Table structure for table class_sort_rules
633 --
634
635 CREATE TABLE class_sort_rules (
636   class_sort_rule varchar(10) UNIQUE NOT NULL default '',
637   description text,
638   sort_routine varchar(30) NOT NULL default '',
639   PRIMARY KEY (class_sort_rule)
640 );
641 CREATE INDEX class_sort_rule_idx ON class_sort_rules (class_sort_rule); 
642
643 --
644 -- Table structure for table class_sources
645 --
646
647 CREATE TABLE class_sources (
648   cn_source varchar(10) NOT NULL default '',
649   description text,
650   used int NOT NULL default 0,
651   class_sort_rule varchar(10) NOT NULL default '',
652   PRIMARY KEY (cn_source)
653 --  This seems redundant -fbcit
654 --  UNIQUE KEY cn_source_idx (cn_source),
655 );
656 CREATE INDEX used_idx ON class_sources (used);
657
658 -- 
659 -- Table structure for table currency
660 -- 
661
662 --DROP TABLE currency;
663
664 CREATE TABLE currency (
665 currency varchar(10) NOT NULL default '',
666 rate numeric(7,5) default NULL,
667 PRIMARY KEY (currency)
668 );
669
670 -- 
671 -- Table structure for table deletedbiblio
672 -- 
673
674 --DROP TABLE deletedbiblio;
675
676 CREATE TABLE deletedbiblio (
677 biblionumber int NOT NULL default 0,
678 frameworkcode varchar(4) NOT NULL,
679 author text,
680 title text,
681 unititle text,
682 notes text,
683 serial int default NULL,
684 seriestitle text,
685 copyrightdate int default NULL,
686 "timestamp" timestamp NOT NULL default (now()),
687 marc bytea,
688 abstract text,
689 PRIMARY KEY (biblionumber)
690 );
691 CREATE INDEX deletedbiblio_blbnoidx_idx ON deletedbiblio (biblionumber);
692
693 -- 
694 -- Table structure for table deletedbiblioitems
695 -- 
696
697 --DROP TABLE deletedbiblioitems;
698
699 CREATE TABLE deletedbiblioitems (
700 biblioitemnumber int NOT NULL default 0,
701 biblionumber int NOT NULL default 0,
702 volume text,
703 number text,
704 classification varchar(25) default NULL,
705 itemtype varchar(10) default NULL,
706 isbn varchar(14) default NULL,
707 issn varchar(9) default NULL,
708 dewey numeric(8,6) default NULL,
709 subclass varchar(3) default NULL,
710 publicationyear int default NULL,
711 publishercode varchar(255) default NULL,
712 volumedate date default NULL,
713 volumeddesc varchar(255) default NULL,
714 "timestamp" timestamp NOT NULL default (now()),
715 illus varchar(255) default NULL,
716 pages varchar(255) default NULL,
717 notes text,
718 size varchar(255) default NULL,
719 lccn varchar(25) default NULL,
720 marc text,
721 url varchar(255) default NULL,
722 place varchar(255) default NULL,
723 lcsort varchar(25) default NULL,
724 ccode varchar(4) default NULL,
725 marcxml text NOT NULL,
726 collectiontitle text,
727 collectionissn text,
728 collectionvolume text,
729 editionstatement text,
730 editionresponsibility text,
731 PRIMARY KEY (biblioitemnumber)
732 );
733 CREATE INDEX deletedbiblioitems_biblioitemnumber_idx ON deletedbiblioitems (biblioitemnumber);
734 CREATE INDEX deletedbiblioitems_biblionumber_idx ON deletedbiblioitems (biblionumber);
735
736 -- 
737 -- Table structure for table deletedborrowers
738 -- 
739
740 --DROP TABLE deletedborrowers;
741
742 CREATE TABLE deletedborrowers (
743 borrowernumber int NOT NULL default 0,
744 cardnumber varchar(9) NOT NULL default '',
745 surname text NOT NULL,
746 firstname text,
747 title text,
748 othernames text,
749 initials text,
750 streetnumber varchar(10) default NULL,
751 streettype varchar(50) default NULL,
752 address text NOT NULL,
753 address2 text,
754 city text NOT NULL,
755 zipcode varchar(25) default NULL,
756 email text,
757 phone text,
758 mobile varchar(50) default NULL,
759 fax text,
760 emailpro text,
761 phonepro text,
762 B_streetnumber varchar(10) default NULL,
763 B_streettype varchar(50) default NULL,
764 B_address varchar(100) default NULL,
765 B_city text,
766 B_zipcode varchar(25) default NULL,
767 B_email text,
768 B_phone text,
769 dateofbirth date default NULL,
770 branchcode varchar(10) NOT NULL default '',
771 categorycode varchar(2) default NULL,
772 dateenrolled date default NULL,
773 dateexpiry date default NULL,
774 gonenoaddress int default NULL,
775 lost int default NULL,
776 debarred int default NULL,
777 contactname text,
778 contactfirstname text,
779 contacttitle text,
780 guarantorid int default NULL,
781 borrowernotes text,
782 relationship varchar(100) default NULL,
783 ethnicity varchar(50) default NULL,
784 ethnotes varchar(255) default NULL,
785 sex varchar(1) default NULL,
786 "password" varchar(30) default NULL,
787 flags int default NULL,
788 userid varchar(30) default NULL,
789 opacnote text,
790 contactnote varchar(255) default NULL,
791 sort1 varchar(80) default NULL,
792 sort2 varchar(80) default NULL
793 );
794 CREATE INDEX deletedborrowers_borrowernumber_idx ON deletedborrowers (borrowernumber);
795 CREATE INDEX deletedborrowers_cardnumber_idx ON deletedborrowers (cardnumber);
796
797 -- 
798 -- Table structure for table deleteditems
799 -- 
800
801 --DROP TABLE deleteditems;
802
803 CREATE TABLE deleteditems (
804 itemnumber int NOT NULL default 0,
805 biblionumber int NOT NULL default 0,
806 biblioitemnumber int NOT NULL default 0,
807 barcode varchar(9) UNIQUE NOT NULL default '',
808 dateaccessioned date default NULL,
809 booksellerid varchar(10) default NULL,
810 homebranch varchar(4) default NULL,
811 price decimal(28,6) default NULL,
812 replacementprice decimal(28,6) default NULL,
813 replacementpricedate date default NULL,
814 datelastborrowed date default NULL,
815 datelastseen date default NULL,
816 stack int default NULL,
817 notforloan int default NULL,
818 damaged int default NULL,
819 itemlost int default NULL,
820 wthdrawn int default NULL,
821 bulk varchar(30) default NULL,
822 issues int default NULL,
823 renewals int default NULL,
824 reserves int default NULL,
825 restricted int default NULL,
826 itemnotes text,
827 holdingbranch varchar(4) default NULL,
828 interim int default NULL,
829 "timestamp" timestamp NOT NULL default (now()),
830 marc bytea,
831 paidfor text,
832 "location" varchar(80) default NULL,
833 itemcallnumber varchar(30) default NULL,
834 onloan date default NULL,
835 cutterextra varchar(45) default NULL,
836 itype varchar(10) default NULL,
837 PRIMARY KEY (itemnumber)
838 );
839 CREATE INDEX deleteditems_barcode_idx ON deleteditems (barcode);
840 CREATE INDEX deleteditems_biblioitemnumber_idx ON deleteditems (biblioitemnumber);
841 CREATE INDEX deleteditems_itembibnoidx_idx ON deleteditems (biblionumber);
842
843 -- 
844 -- Table structure for table ethnicity
845 -- 
846
847 --DROP TABLE ethnicity;
848
849 CREATE TABLE ethnicity (
850 code varchar(10) NOT NULL default '',
851 name varchar(255) default NULL,
852 PRIMARY KEY (code)
853 );
854
855 -- 
856 -- Table structure for table issues
857 -- 
858
859 --DROP TABLE issues;
860
861 CREATE TABLE issues (
862 borrowernumber int default NULL,
863 itemnumber int default NULL,
864 date_due date default NULL,
865 branchcode varchar(10) default NULL,
866 issuingbranch varchar(18) default NULL,
867 returndate date default NULL,
868 lastreneweddate date default NULL,
869 return varchar(4) default NULL,
870 renewals int default NULL,
871 "timestamp" timestamp NOT NULL default (now()),
872 issuedate date default NULL
873 );
874 CREATE INDEX issues_borrowernumber_idx ON issues (borrowernumber);
875 CREATE INDEX issues_itemnumber_idx ON issues (itemnumber);
876 CREATE INDEX issues_bordate_idx ON issues (borrowernumber,timestamp);
877
878 -- 
879 -- Table structure for table issuingrules
880 -- 
881
882 --DROP TABLE issuingrules;
883
884 CREATE TABLE issuingrules (
885 categorycode varchar(10) NOT NULL default '',
886 itemtype varchar(10) NOT NULL default '',
887 restrictedtype int default NULL,
888 rentaldiscount decimal(28,6) default NULL,
889 reservecharge decimal(28,6) default NULL,
890 fine decimal(28,6) default NULL,
891 firstremind int default NULL,
892 chargeperiod int default NULL,
893 accountsent int default NULL,
894 chargename varchar(100) default NULL,
895 maxissueqty int default NULL,
896 issuelength int default NULL,
897 branchcode varchar(10) NOT NULL default '',
898 PRIMARY KEY (branchcode,categorycode,itemtype)
899 );
900 CREATE INDEX issuingrules_categorycode_idx ON issuingrules (categorycode);
901 CREATE INDEX issuingrules_itemtype_idx ON issuingrules (itemtype);
902
903 -- 
904 -- Table structure for table items
905 -- 
906
907 --DROP TABLE items;
908
909 CREATE TABLE items (
910 itemnumber int NOT NULL default 0,
911 biblionumber int NOT NULL default 0,
912 biblioitemnumber int NOT NULL default 0,
913 barcode varchar(20) default NULL,
914 dateaccessioned date default NULL,
915 booksellerid varchar(10) default NULL,
916 homebranch varchar(4) default NULL,
917 price decimal(8,2) default NULL,
918 replacementprice decimal(8,2) default NULL,
919 replacementpricedate date default NULL,
920 datelastborrowed date default NULL,
921 datelastseen date default NULL,
922 stack int default NULL,
923 notforloan int default NULL,
924 damaged int default NULL,
925 itemlost int default NULL,
926 wthdrawn int default NULL,
927 itemcallnumber varchar(30) default NULL,
928 issues int default NULL,
929 renewals int default NULL,
930 reserves int default NULL,
931 restricted int default NULL,
932 itemnotes text,
933 holdingbranch varchar(10) default NULL,
934 paidfor text,
935 "timestamp" timestamp NOT NULL default (now()),
936 "location" varchar(80) default NULL,
937 onloan date default NULL,
938 cutterextra varchar(45) default NULL,
939 itype varchar(10) default NULL,
940 PRIMARY KEY (itemnumber)
941 );
942 CREATE INDEX items_barcode_idx ON items (barcode);
943 CREATE INDEX items_biblioitemnumber_idx ON items (biblioitemnumber);
944 CREATE INDEX items_biblionumber_idx ON items (biblionumber);
945 CREATE INDEX items_homebranch_idx ON items (homebranch);
946 CREATE INDEX items_holdingbranch_idx ON items (holdingbranch);
947
948 -- 
949 -- Table structure for table itemtypes
950 -- 
951
952 --DROP TABLE itemtypes;
953
954 CREATE TABLE itemtypes (
955 itemtype varchar(10) UNIQUE NOT NULL default '',
956 description text,
957 renewalsallowed int default NULL,
958 rentalcharge numeric(16,4) default NULL,
959 notforloan int default NULL,
960 imageurl varchar(200) default NULL,
961 summary text,
962 PRIMARY KEY (itemtype)
963 );
964
965 -- 
966 -- Table structure for table labels
967 -- 
968
969 --DROP TABLE labels;
970
971 CREATE TABLE labels (
972 labelid BIGSERIAL UNIQUE NOT NULL,
973 batch_id varchar(10) NOT NULL default '1',
974 itemnumber varchar(100) NOT NULL default '',
975 "timestamp" timestamp NOT NULL default (now()),
976 PRIMARY KEY (labelid)
977 );
978
979 -- 
980 -- Table structure for table labels_conf
981 -- 
982
983 --DROP TABLE labels_conf;
984
985 CREATE TABLE labels_conf (
986 id BIGSERIAL UNIQUE NOT NULL,
987 barcodetype varchar(100) default '',
988 title int default '0',
989 itemtype int default '0',
990 barcode int default '0',
991 dewey int default '0',
992 "class" int default '0',
993 subclass int default '0',
994 itemcallnumber int default '0',
995 author int default '0',
996 issn int default '0',
997 isbn int default '0',
998 startlabel int NOT NULL default '1',
999 printingtype varchar(32) default 'BAR',
1000 layoutname varchar(20) NOT NULL default 'TEST',
1001 guidebox int default '0',
1002 active int default '1',
1003 fonttype varchar(10) default NULL,
1004 subtitle int default NULL,
1005 PRIMARY KEY (id)
1006 );
1007
1008 -- 
1009 -- Table structure for table labels_templates
1010 -- 
1011
1012 --DROP TABLE labels_templates;
1013
1014 CREATE TABLE labels_templates (
1015 tmpl_id BIGSERIAL UNIQUE NOT NULL,
1016 tmpl_code varchar(100) default '',
1017 tmpl_desc varchar(100) default '',
1018 page_width float default '0',
1019 page_height float default '0',
1020 label_width float default '0',
1021 label_height float default '0',
1022 topmargin float default '0',
1023 leftmargin float default '0',
1024 cols int default '0',
1025 "rows" int default '0',
1026 colgap float default '0',
1027 rowgap float default '0',
1028 active int default NULL,
1029 units varchar(20) default 'PX',
1030 fontsize int NOT NULL default '3',
1031 PRIMARY KEY (tmpl_id)
1032 );
1033
1034 -- 
1035 -- Table structure for table letter
1036 -- 
1037
1038 --DROP TABLE letter;
1039
1040 CREATE TABLE letter (
1041 module varchar(20) NOT NULL default '',
1042 code varchar(20) NOT NULL default '',
1043 name varchar(100) NOT NULL default '',
1044 title varchar(200) NOT NULL default '',
1045 content text,
1046 PRIMARY KEY (module,code)
1047 );
1048
1049 -- 
1050 -- Table structure for table marc_breeding
1051 -- 
1052
1053 --DROP TABLE marc_breeding;
1054
1055 CREATE TABLE marc_breeding (
1056 id BIGSERIAL,
1057 file varchar(80) NOT NULL default '',
1058 isbn varchar(10) NOT NULL default '',
1059 title varchar(128) default NULL,
1060 author varchar(80) default NULL,
1061 marc bytea,
1062 "encoding" varchar(40) NOT NULL default '',
1063 z3950random varchar(40) default NULL,
1064 PRIMARY KEY (id)
1065 );
1066 CREATE INDEX marc_breeding_title_idx ON marc_breeding (title);
1067 CREATE INDEX marc_breeding_isbn_idx ON marc_breeding (isbn);
1068
1069 -- 
1070 -- Table structure for table marc_subfield_structure
1071 -- 
1072
1073 --DROP TABLE marc_subfield_structure;
1074
1075 CREATE TABLE marc_subfield_structure (
1076 tagfield varchar(3) NOT NULL default '',
1077 tagsubfield varchar(1) NOT NULL default '',
1078 liblibrarian varchar(255) NOT NULL default '',
1079 libopac varchar(255) NOT NULL default '',
1080 "repeatable" int NOT NULL default 0,
1081 mandatory int NOT NULL default 0,
1082 kohafield varchar(40) default NULL,
1083 tab int default NULL,
1084 authorised_value varchar(20) default NULL,
1085 authtypecode varchar(20) default NULL,
1086 value_builder varchar(80) default NULL,
1087 isurl int default NULL,
1088 hidden int default NULL,
1089 frameworkcode varchar(4) NOT NULL default '',
1090 seealso varchar(1100) default NULL,
1091 link varchar(80) default NULL,
1092 defaultvalue text default NULL,
1093 PRIMARY KEY (frameworkcode,tagfield,tagsubfield)
1094 );
1095 CREATE INDEX marc_subfield_structure_kohafield_2_idx ON marc_subfield_structure (kohafield);
1096 CREATE INDEX marc_subfield_structure_tab_idx ON marc_subfield_structure (frameworkcode,tab);
1097 CREATE INDEX marc_subfield_structure_kohafield_idx ON marc_subfield_structure (frameworkcode,kohafield);
1098
1099 -- 
1100 -- Table structure for table marc_tag_structure
1101 -- 
1102
1103 --DROP TABLE marc_tag_structure;
1104
1105 CREATE TABLE marc_tag_structure (
1106 tagfield varchar(3) NOT NULL default '',
1107 liblibrarian varchar(255) NOT NULL default '',
1108 libopac varchar(255) NOT NULL default '',
1109 "repeatable" int NOT NULL default 0,
1110 mandatory int NOT NULL default 0,
1111 authorised_value varchar(10) default NULL,
1112 frameworkcode varchar(4) NOT NULL default '',
1113 PRIMARY KEY (frameworkcode,tagfield)
1114 );
1115
1116 -- 
1117 -- Table structure for table notifys
1118 -- 
1119
1120 --DROP TABLE notifys;
1121
1122 CREATE TABLE notifys (
1123 notify_id int NOT NULL default 0,
1124 borrowernumber int NOT NULL default 0,
1125 itemnumber int NOT NULL default 0,
1126 notify_date date default NULL,
1127 notify_send_date date default NULL,
1128 notify_level int NOT NULL default 0,
1129 method varchar(20) NOT NULL default ''
1130 );
1131
1132 -- 
1133 -- Table structure for table nozebra
1134 -- 
1135 CREATE TABLE nozebra (
1136 server varchar(20) NOT NULL,
1137 indexname varchar(40) NOT NULL,
1138 value varchar(250) NOT NULL,
1139 biblionumbers text NOT NULL
1140 );
1141 CREATE INDEX nozebra_indexname_idx ON nozebra (server,indexname);
1142 CREATE INDEX nozebra_value_idx ON nozebra (server,value);
1143
1144 -- 
1145 -- Table structure for table opac_news
1146 -- 
1147
1148 --DROP TABLE opac_news;
1149
1150 CREATE TABLE opac_news (
1151 idnew SERIAL NOT NULL,
1152 title varchar(250) NOT NULL default '',
1153 "new" text NOT NULL,
1154 lang varchar(4) NOT NULL default '',
1155 "timestamp" timestamp NOT NULL default CURRENT_TIMESTAMP,
1156 expirationdate date default NULL,
1157 number int default NULL,
1158 PRIMARY KEY (idnew)
1159 );
1160
1161 -- 
1162 -- Table structure for table overduerules
1163 -- 
1164
1165 --DROP TABLE overduerules;
1166
1167 CREATE TABLE overduerules (
1168 branchcode varchar(10) NOT NULL default '',
1169 categorycode varchar(2) NOT NULL default '',
1170 delay1 int default 0,
1171 letter1 varchar(20) default NULL,
1172 debarred1 varchar(1) default 0,
1173 delay2 int default 0,
1174 debarred2 varchar(1) default 0,
1175 letter2 varchar(20) default NULL,
1176 delay3 int default 0,
1177 letter3 varchar(20) default NULL,
1178 debarred3 int default 0,
1179 PRIMARY KEY (branchcode,categorycode)
1180 );
1181
1182 -- 
1183 -- Table structure for table printers
1184 -- 
1185
1186 --DROP TABLE printers;
1187
1188 CREATE TABLE printers (
1189 printername varchar(40) NOT NULL default '',
1190 printqueue varchar(20) default NULL,
1191 printtype varchar(20) default NULL,
1192 PRIMARY KEY (printername)
1193 );
1194
1195 -- 
1196 -- Table structure for table repeatable_holidays
1197 -- 
1198
1199 --DROP TABLE repeatable_holidays;
1200
1201 CREATE TABLE repeatable_holidays (
1202 id BIGSERIAL,
1203 branchcode varchar(10) NOT NULL default '',
1204 weekday int default NULL,
1205 "day" int default NULL,
1206 "month" int default NULL,
1207 title varchar(50) NOT NULL default '',
1208 description text NOT NULL,
1209 PRIMARY KEY (id)
1210 );
1211
1212 -- 
1213 -- Table structure for table reserveCONSTRAINTs
1214 -- 
1215
1216 --DROP TABLE reserveCONSTRAINTs;
1217
1218 CREATE TABLE reserveCONSTRAINTs (
1219 borrowernumber int NOT NULL default 0,
1220 reservedate date default NULL,
1221 biblionumber int NOT NULL default 0,
1222 biblioitemnumber int default NULL,
1223 "timestamp" timestamp NOT NULL default (now())
1224 );
1225
1226 -- 
1227 -- Table structure for table reserves
1228 -- 
1229
1230 --DROP TABLE reserves;
1231
1232 CREATE TABLE reserves (
1233 borrowernumber int NOT NULL default 0,
1234 reservedate date default NULL,
1235 biblionumber int NOT NULL default 0,
1236 CONSTRAINTtype varchar(1) default NULL,
1237 branchcode varchar(10) default NULL,
1238 notificationdate date default NULL,
1239 reminderdate date default NULL,
1240 cancellationdate date default NULL,
1241 reservenotes text,
1242 priority int default NULL,
1243 found varchar(1) default NULL,
1244 "timestamp" timestamp NOT NULL default (now()),
1245 itemnumber int default NULL,
1246 waitingdate date default NULL
1247 );
1248 CREATE INDEX reserves_borrowernumber_idx ON reserves (borrowernumber);
1249 CREATE INDEX reserves_biblionumber__idx ON reserves (biblionumber);
1250 CREATE INDEX reserves_itemnumber__idx ON reserves (itemnumber);
1251 CREATE INDEX reserves_branchcode_idx ON reserves (branchcode);
1252
1253 -- 
1254 -- Table structure for table reviews
1255 -- 
1256
1257 --DROP TABLE reviews;
1258
1259 CREATE TABLE reviews (
1260 reviewid BIGSERIAL,
1261 borrowernumber int default NULL,
1262 biblionumber int default NULL,
1263 review text,
1264 approved int default NULL,
1265 datereviewed timestamp default NULL,
1266 PRIMARY KEY (reviewid)
1267 );
1268
1269 -- 
1270 -- Table structure for table roadtype
1271 -- 
1272
1273 --DROP TABLE roadtype;
1274
1275 CREATE TABLE roadtype (
1276 roadtypeid BIGSERIAL,
1277 road_type varchar(100) NOT NULL default '',
1278 PRIMARY KEY (roadtypeid)
1279 );
1280
1281 -- 
1282 -- Table structure for table serial
1283 -- 
1284
1285 --DROP TABLE serial;
1286
1287 CREATE TABLE serial (
1288 serialid BIGSERIAL,
1289 biblionumber varchar(100) NOT NULL default '',
1290 subscriptionid varchar(100) NOT NULL default '',
1291 serialseq varchar(100) NOT NULL default '',
1292 status int NOT NULL default 0,
1293 planneddate date default NULL,
1294 notes text,
1295 publisheddate date default NULL,
1296 itemnumber text,
1297 claimdate date default NULL,
1298 routingnotes text,
1299 PRIMARY KEY (serialid)
1300 );
1301
1302 -- 
1303 -- Table structure for table sessions
1304 -- 
1305
1306 --DROP TABLE sessions;
1307
1308 CREATE TABLE sessions (
1309 id varchar(32) UNIQUE NOT NULL,
1310 a_session text NOT NULL
1311 );
1312
1313 -- 
1314 -- Table structure for table special_holidays
1315 -- 
1316
1317 --DROP TABLE special_holidays;
1318
1319 CREATE TABLE special_holidays (
1320 id BIGSERIAL,
1321 branchcode varchar(10) NOT NULL default '',
1322 "day" int NOT NULL default 0,
1323 "month" int NOT NULL default 0,
1324 "year" int NOT NULL default 0,
1325 isexception int NOT NULL default '1',
1326 title varchar(50) NOT NULL default '',
1327 description text NOT NULL,
1328 PRIMARY KEY (id)
1329 );
1330
1331 -- 
1332 -- Table structure for table statistics
1333 -- 
1334
1335 --DROP TABLE statistics;
1336
1337 CREATE TABLE statistics (
1338 datetime timestamp default NULL,
1339 "timestamp" timestamp default NULL,
1340 branch varchar(10) default NULL,
1341 proccode varchar(4) default NULL,
1342 value numeric(16,4) default NULL,
1343 "type" varchar(16) default NULL,
1344 other text,
1345 usercode varchar(10) default NULL,
1346 itemnumber int default NULL,
1347 itemtype varchar(10) default NULL,
1348 borrowernumber int default NULL,
1349 associatedborrower int default NULL
1350 );
1351 CREATE INDEX statistics_timeidx_idx ON statistics (datetime);
1352
1353 -- 
1354 -- Table structure for table stopwords
1355 -- 
1356
1357 --DROP TABLE stopwords;
1358
1359 CREATE TABLE stopwords (
1360 word varchar(255) default NULL
1361 );
1362
1363 -- 
1364 -- Table structure for table subscription
1365 -- 
1366
1367 --DROP TABLE subscription;
1368
1369 CREATE TABLE subscription (
1370 biblionumber int NOT NULL default 0,
1371 subscriptionid BIGSERIAL,
1372 librarian varchar(100) default '',
1373 startdate date default NULL,
1374 aqbooksellerid int default 0,
1375 cost int default 0,
1376 aqbudgetid int default 0,
1377 weeklength int default 0,
1378 monthlength int default 0,
1379 numberlength int default 0,
1380 periodicity int default 0,
1381 dow varchar(100) default '',
1382 numberingmethod varchar(100) default '',
1383 notes text,
1384 status varchar(100) NOT NULL default '',
1385 add1 int default 0,
1386 every1 int default 0,
1387 whenmorethan1 int default 0,
1388 setto1 int default NULL,
1389 lastvalue1 int default NULL,
1390 add2 int default 0,
1391 every2 int default 0,
1392 whenmorethan2 int default 0,
1393 setto2 int default NULL,
1394 lastvalue2 int default NULL,
1395 add3 int default 0,
1396 every3 int default 0,
1397 innerloop1 int default 0,
1398 innerloop2 int default 0,
1399 innerloop3 int default 0,
1400 whenmorethan3 int default 0,
1401 setto3 int default NULL,
1402 lastvalue3 int default NULL,
1403 issuesatonce int NOT NULL default '1',
1404 firstacquidate date default NULL,
1405 manualhistory int NOT NULL default 0,
1406 irregularity text,
1407 letter varchar(20) default NULL,
1408 numberpattern int default 0,
1409 distributedto text,
1410 internalnotes text,
1411 callnumber text,
1412 branchcode varchar(10) NOT NULL default '',
1413 hemisphere int default 0,
1414 PRIMARY KEY (subscriptionid)
1415 );
1416
1417 -- 
1418 -- Table structure for table subscriptionhistory
1419 -- 
1420
1421 --DROP TABLE subscriptionhistory;
1422
1423 CREATE TABLE subscriptionhistory (
1424 biblionumber int NOT NULL default 0,
1425 subscriptionid int NOT NULL default 0,
1426 histstartdate date default NULL,
1427 enddate date default NULL,
1428 missinglist text NOT NULL,
1429 recievedlist text NOT NULL,
1430 opacnote varchar(150) NOT NULL default '',
1431 librariannote varchar(150) NOT NULL default '',
1432 PRIMARY KEY (subscriptionid)
1433 );
1434 CREATE INDEX subscriptionhistory_biblionumber_idx ON subscriptionhistory (biblionumber);
1435
1436 -- 
1437 -- Table structure for table subscriptionroutinglist
1438 -- 
1439
1440 --DROP TABLE subscriptionroutinglist;
1441
1442 CREATE TABLE subscriptionroutinglist (
1443 routingid BIGSERIAL,
1444 borrowernumber int default NULL,
1445 ranking int default NULL,
1446 subscriptionid int default NULL,
1447 PRIMARY KEY (routingid)
1448 );
1449
1450 -- 
1451 -- Table structure for table suggestions
1452 -- 
1453
1454 --DROP TABLE suggestions;
1455
1456 CREATE TABLE suggestions (
1457 suggestionid BIGSERIAL,
1458 suggestedby int NOT NULL default 0,
1459 managedby int default NULL,
1460 STATUS varchar(10) NOT NULL default '',
1461 note text,
1462 author varchar(80) default NULL,
1463 title varchar(80) default NULL,
1464 copyrightdate int default NULL,
1465 publishercode varchar(255) default NULL,
1466 date timestamp NOT NULL default (now()),
1467 volumedesc varchar(255) default NULL,
1468 publicationyear int default 0,
1469 place varchar(255) default NULL,
1470 isbn varchar(10) default NULL,
1471 mailoverseeing int default 0,
1472 biblionumber int default NULL,
1473 reason text,
1474 PRIMARY KEY (suggestionid)
1475 );
1476 CREATE INDEX suggestions_suggestedby_idx ON suggestions (suggestedby);
1477 CREATE INDEX suggestions_managedby_idx ON suggestions (managedby);
1478
1479 -- 
1480 -- Table structure for table systempreferences
1481 -- 
1482
1483 --DROP TABLE systempreferences;
1484
1485 CREATE TABLE systempreferences (
1486 variable varchar(50) NOT NULL default '',
1487 value text,
1488 options text,
1489 explanation text,
1490 type varchar(20) default NULL,
1491 PRIMARY KEY (variable)
1492 );
1493
1494 -- 
1495 -- Table structure for table tags
1496 -- 
1497
1498 --DROP TABLE tags;
1499
1500 CREATE TABLE tags (
1501 entry varchar(255) NOT NULL default '',
1502 weight int NOT NULL default 0,
1503 PRIMARY KEY (entry)
1504 );
1505
1506 -- 
1507 -- Table structure for table userflags
1508 -- 
1509
1510 --DROP TABLE userflags;
1511
1512 CREATE TABLE userflags (
1513 "bit" int NOT NULL default 0,
1514 flag varchar(30) default NULL,
1515 flagdesc varchar(255) default NULL,
1516 defaulton int default NULL,
1517 PRIMARY KEY (bit)
1518 );
1519
1520 -- 
1521 -- Table structure for table virtualshelves
1522 -- 
1523
1524 --DROP TABLE virtualshelves;
1525
1526 CREATE TABLE virtualshelves (
1527 shelfnumber BIGSERIAL,
1528 shelfname varchar(255) default NULL,
1529 "owner" varchar(80) default NULL,
1530 category varchar(1) default NULL,
1531 PRIMARY KEY (shelfnumber)
1532 );
1533
1534 -- 
1535 -- Table structure for table virtualshelfcontents
1536 -- 
1537
1538 --DROP TABLE virtualshelfcontents;
1539
1540 CREATE TABLE virtualshelfcontents (
1541 shelfnumber int NOT NULL default 0,
1542 biblionumber int NOT NULL default 0,
1543 flags int default NULL,
1544 dateadded timestamp NULL default NULL
1545 );
1546 CREATE INDEX virtualshelfcontents_shelfnumber_idx ON virtualshelfcontents (shelfnumber);
1547 CREATE INDEX virtualshelfcontents_biblionumber_idx ON virtualshelfcontents (biblionumber);
1548
1549 -- 
1550 -- Table structure for table z3950servers
1551 -- 
1552
1553 --DROP TABLE z3950servers;
1554
1555 CREATE TABLE z3950servers (
1556 host varchar(255) default NULL,
1557 port int default NULL,
1558 db varchar(255) default NULL,
1559 userid varchar(255) default NULL,
1560 "password" varchar(255) default NULL,
1561 name text,
1562 id BIGSERIAL,
1563 checked int default NULL,
1564 rank int default NULL,
1565 syntax varchar(80) default NULL,
1566 icon text,
1567 "position" varchar(10) NOT NULL default 'primary',
1568 "type" varchar(10) NOT NULL default 'zed',
1569 description text NOT NULL,
1570 CHECK ( position IN ('primary', 'secondary', '' )),
1571 CHECK ( type IN ('zed', 'opensearch', '' )),
1572 PRIMARY KEY (id)
1573 );
1574
1575 -- 
1576 -- Table structure for table zebraqueue
1577 -- 
1578
1579 --DROP TABLE zebraqueue;
1580
1581 CREATE TABLE zebraqueue (
1582 id BIGSERIAL,
1583 biblio_auth_number int NOT NULL default 0,
1584 operation varchar(20) NOT NULL default '',
1585 server varchar(20) NOT NULL default '',
1586 PRIMARY KEY (id)
1587 );
1588
1589 --
1590 -- Add FK's last... (just because...)
1591 --
1592
1593 ALTER TABLE accountlines ADD CONSTRAINT accountlines_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON DELETE CASCADE ON UPDATE CASCADE;
1594 ALTER TABLE accountlines ADD CONSTRAINT accountlines_ibfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE SET NULL ON UPDATE SET NULL;
1595
1596 -- Added this FK based on the FK in other tables referencing borrowers.borrowernumber  -fbcit
1597
1598 ALTER TABLE accountoffsets ADD CONSTRAINT accountoffsets_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE;
1599
1600 --
1601
1602 ALTER TABLE aqbasket ADD CONSTRAINT aqbasket_ibfk_1 FOREIGN KEY (booksellerid) REFERENCES aqbooksellers (id) ON UPDATE CASCADE;
1603 ALTER TABLE aqbooksellers ADD CONSTRAINT aqbooksellers_ibfk_1 FOREIGN KEY (listprice) REFERENCES currency (currency) ON DELETE CASCADE ON UPDATE CASCADE;
1604 ALTER TABLE aqbooksellers ADD CONSTRAINT aqbooksellers_ibfk_2 FOREIGN KEY (invoiceprice) REFERENCES currency (currency) ON DELETE CASCADE ON UPDATE CASCADE;
1605 ALTER TABLE aqorderbreakdown ADD CONSTRAINT aqorderbreakdown_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE;
1606 ALTER TABLE aqorderbreakdown ADD CONSTRAINT aqorderbreakdown_ibfk_2 FOREIGN KEY (bookfundid) REFERENCES aqbookfund (bookfundid) ON DELETE CASCADE ON UPDATE CASCADE;
1607 ALTER TABLE aqorders ADD CONSTRAINT aqorders_ibfk_1 FOREIGN KEY (basketno) REFERENCES aqbasket (basketno) ON DELETE CASCADE ON UPDATE CASCADE;
1608 ALTER TABLE aqorders ADD CONSTRAINT aqorders_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE SET NULL ON UPDATE SET NULL;
1609 ALTER TABLE auth_tag_structure ADD CONSTRAINT auth_tag_structure_ibfk_1 FOREIGN KEY (authtypecode) REFERENCES auth_types (authtypecode) ON DELETE CASCADE ON UPDATE CASCADE;
1610 ALTER TABLE biblioitems ADD CONSTRAINT biblioitems_ibfk_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE;
1611 ALTER TABLE borrowers ADD CONSTRAINT borrowers_ibfk_1 FOREIGN KEY (categorycode) REFERENCES categories (categorycode);
1612 ALTER TABLE borrowers ADD CONSTRAINT borrowers_ibfk_2 FOREIGN KEY (branchcode) REFERENCES branches (branchcode);
1613 ALTER TABLE branchrelations ADD CONSTRAINT branchrelations_ibfk_1 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1614 ALTER TABLE branchrelations ADD CONSTRAINT branchrelations_ibfk_2 FOREIGN KEY (categorycode) REFERENCES branchcategories (categorycode) ON DELETE CASCADE ON UPDATE CASCADE;
1615 ALTER TABLE branchtransfers ADD CONSTRAINT branchtransfers_ibfk_1 FOREIGN KEY (frombranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1616 ALTER TABLE branchtransfers ADD CONSTRAINT branchtransfers_ibfk_2 FOREIGN KEY (tobranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1617 ALTER TABLE branchtransfers ADD CONSTRAINT branchtransfers_ibfk_3 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1618 ALTER TABLE class_sources ADD CONSTRAINT class_sources_ibfk_1 FOREIGN KEY (class_sort_rule) REFERENCES class_sort_rules (class_sort_rule);
1619 ALTER TABLE issues ADD CONSTRAINT issues_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON DELETE SET NULL ON UPDATE SET NULL;
1620 ALTER TABLE issues ADD CONSTRAINT issues_ibfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE SET NULL ON UPDATE SET NULL;
1621 ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (biblioitemnumber) REFERENCES biblioitems (biblioitemnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1622 ALTER TABLE items ADD CONSTRAINT items_ibfk_2 FOREIGN KEY (homebranch) REFERENCES branches (branchcode) ON UPDATE CASCADE;
1623 ALTER TABLE items ADD CONSTRAINT items_ibfk_3 FOREIGN KEY (holdingbranch) REFERENCES branches (branchcode) ON UPDATE CASCADE;
1624 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON DELETE CASCADE ON UPDATE CASCADE;
1625 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE;
1626 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_3 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1627 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_4 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1628 ALTER TABLE virtualshelfcontents ADD CONSTRAINT virtualshelfcontents_ibfk_1 FOREIGN KEY (shelfnumber) REFERENCES virtualshelves (shelfnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1629 ALTER TABLE virtualshelfcontents ADD CONSTRAINT virtualshelfcontents_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE;
1630
1631
1632 --
1633 -- Table for branch_transfer_limits
1634 --
1635 CREATE SEQUENCE branch_transfer_limits_limitId_seq START 1;
1636
1637 CREATE TABLE branch_transfer_limits (
1638 limitId int PRIMARY KEY DEFAULT nextval('branch_transfer_limits_limitId_seq'),
1639 toBranch varchar(4) NOT NULL,
1640 fromBranch varchar(4) NOT NULL,
1641 itemtype varchar(4) NOT NULL,
1642 PRIMARY KEY  (limitId)
1643 );
1644
1645
1646 --commit;