Moved/renamed kohastructure_pg.sql to data/Pg
[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 categorytable
620 -- 
621
622 --DROP TABLE categorytable;
623
624 CREATE TABLE categorytable (
625 categorycode varchar(5) NOT NULL default '',
626 description text,
627 itemtypecodes text,
628 PRIMARY KEY (categorycode)
629 );
630
631 -- 
632 -- Table structure for table cities
633 -- 
634
635 --DROP TABLE cities;
636
637 CREATE TABLE cities (
638 cityid BIGSERIAL,
639 city_name varchar(100) NOT NULL default '',
640 city_zipcode varchar(20) default NULL,
641 PRIMARY KEY (cityid)
642 );
643
644 --
645 -- Table structure for table class_sort_rules
646 --
647
648 CREATE TABLE class_sort_rules (
649   class_sort_rule varchar(10) UNIQUE NOT NULL default '',
650   description text,
651   sort_routine varchar(30) NOT NULL default '',
652   PRIMARY KEY (class_sort_rule)
653 );
654 CREATE INDEX class_sort_rule_idx ON class_sort_rules (class_sort_rule); 
655
656 --
657 -- Table structure for table class_sources
658 --
659
660 CREATE TABLE class_sources (
661   cn_source varchar(10) NOT NULL default '',
662   description text,
663   used int NOT NULL default 0,
664   class_sort_rule varchar(10) NOT NULL default '',
665   PRIMARY KEY (cn_source)
666 --  This seems redundant -fbcit
667 --  UNIQUE KEY cn_source_idx (cn_source),
668 );
669 CREATE INDEX used_idx ON class_sources (used);
670
671 -- 
672 -- Table structure for table currency
673 -- 
674
675 --DROP TABLE currency;
676
677 CREATE TABLE currency (
678 currency varchar(10) NOT NULL default '',
679 rate numeric(7,5) default NULL,
680 PRIMARY KEY (currency)
681 );
682
683 -- 
684 -- Table structure for table deletedbiblio
685 -- 
686
687 --DROP TABLE deletedbiblio;
688
689 CREATE TABLE deletedbiblio (
690 biblionumber int NOT NULL default 0,
691 frameworkcode varchar(4) NOT NULL,
692 author text,
693 title text,
694 unititle text,
695 notes text,
696 serial int default NULL,
697 seriestitle text,
698 copyrightdate int default NULL,
699 "timestamp" timestamp NOT NULL default (now()),
700 marc bytea,
701 abstract text,
702 PRIMARY KEY (biblionumber)
703 );
704 CREATE INDEX deletedbiblio_blbnoidx_idx ON deletedbiblio (biblionumber);
705
706 -- 
707 -- Table structure for table deletedbiblioitems
708 -- 
709
710 --DROP TABLE deletedbiblioitems;
711
712 CREATE TABLE deletedbiblioitems (
713 biblioitemnumber int NOT NULL default 0,
714 biblionumber int NOT NULL default 0,
715 volume text,
716 number text,
717 classification varchar(25) default NULL,
718 itemtype varchar(10) default NULL,
719 isbn varchar(14) default NULL,
720 issn varchar(9) default NULL,
721 dewey numeric(8,6) default NULL,
722 subclass varchar(3) default NULL,
723 publicationyear int default NULL,
724 publishercode varchar(255) default NULL,
725 volumedate date default NULL,
726 volumeddesc varchar(255) default NULL,
727 "timestamp" timestamp NOT NULL default (now()),
728 illus varchar(255) default NULL,
729 pages varchar(255) default NULL,
730 notes text,
731 size varchar(255) default NULL,
732 lccn varchar(25) default NULL,
733 marc text,
734 url varchar(255) default NULL,
735 place varchar(255) default NULL,
736 lcsort varchar(25) default NULL,
737 ccode varchar(4) default NULL,
738 marcxml text NOT NULL,
739 collectiontitle text,
740 collectionissn text,
741 collectionvolume text,
742 editionstatement text,
743 editionresponsibility text,
744 PRIMARY KEY (biblioitemnumber)
745 );
746 CREATE INDEX deletedbiblioitems_biblioitemnumber_idx ON deletedbiblioitems (biblioitemnumber);
747 CREATE INDEX deletedbiblioitems_biblionumber_idx ON deletedbiblioitems (biblionumber);
748
749 -- 
750 -- Table structure for table deletedborrowers
751 -- 
752
753 --DROP TABLE deletedborrowers;
754
755 CREATE TABLE deletedborrowers (
756 borrowernumber int NOT NULL default 0,
757 cardnumber varchar(9) NOT NULL default '',
758 surname text NOT NULL,
759 firstname text,
760 title text,
761 othernames text,
762 initials text,
763 streetnumber varchar(10) default NULL,
764 streettype varchar(50) default NULL,
765 address text NOT NULL,
766 address2 text,
767 city text NOT NULL,
768 zipcode varchar(25) default NULL,
769 email text,
770 phone text,
771 mobile varchar(50) default NULL,
772 fax text,
773 emailpro text,
774 phonepro text,
775 B_streetnumber varchar(10) default NULL,
776 B_streettype varchar(50) default NULL,
777 B_address varchar(100) default NULL,
778 B_city text,
779 B_zipcode varchar(25) default NULL,
780 B_email text,
781 B_phone text,
782 dateofbirth date default NULL,
783 branchcode varchar(10) NOT NULL default '',
784 categorycode varchar(2) default NULL,
785 dateenrolled date default NULL,
786 dateexpiry date default NULL,
787 gonenoaddress int default NULL,
788 lost int default NULL,
789 debarred int default NULL,
790 contactname text,
791 contactfirstname text,
792 contacttitle text,
793 guarantorid int default NULL,
794 borrowernotes text,
795 relationship varchar(100) default NULL,
796 ethnicity varchar(50) default NULL,
797 ethnotes varchar(255) default NULL,
798 sex varchar(1) default NULL,
799 "password" varchar(30) default NULL,
800 flags int default NULL,
801 userid varchar(30) default NULL,
802 opacnote text,
803 contactnote varchar(255) default NULL,
804 sort1 varchar(80) default NULL,
805 sort2 varchar(80) default NULL
806 );
807 CREATE INDEX deletedborrowers_borrowernumber_idx ON deletedborrowers (borrowernumber);
808 CREATE INDEX deletedborrowers_cardnumber_idx ON deletedborrowers (cardnumber);
809
810 -- 
811 -- Table structure for table deleteditems
812 -- 
813
814 --DROP TABLE deleteditems;
815
816 CREATE TABLE deleteditems (
817 itemnumber int NOT NULL default 0,
818 biblionumber int NOT NULL default 0,
819 biblioitemnumber int NOT NULL default 0,
820 barcode varchar(9) UNIQUE NOT NULL default '',
821 dateaccessioned date default NULL,
822 booksellerid varchar(10) default NULL,
823 homebranch varchar(4) default NULL,
824 price decimal(28,6) default NULL,
825 replacementprice decimal(28,6) default NULL,
826 replacementpricedate date default NULL,
827 datelastborrowed date default NULL,
828 datelastseen date default NULL,
829 stack int default NULL,
830 notforloan int default NULL,
831 damaged int default NULL,
832 itemlost int default NULL,
833 wthdrawn int default NULL,
834 bulk varchar(30) default NULL,
835 issues int default NULL,
836 renewals int default NULL,
837 reserves int default NULL,
838 restricted int default NULL,
839 itemnotes text,
840 holdingbranch varchar(4) default NULL,
841 interim int default NULL,
842 "timestamp" timestamp NOT NULL default (now()),
843 marc bytea,
844 paidfor text,
845 "location" varchar(80) default NULL,
846 itemcallnumber varchar(30) default NULL,
847 onloan date default NULL,
848 cutterextra varchar(45) default NULL,
849 itype varchar(10) default NULL,
850 PRIMARY KEY (itemnumber)
851 );
852 CREATE INDEX deleteditems_barcode_idx ON deleteditems (barcode);
853 CREATE INDEX deleteditems_biblioitemnumber_idx ON deleteditems (biblioitemnumber);
854 CREATE INDEX deleteditems_itembibnoidx_idx ON deleteditems (biblionumber);
855
856 -- 
857 -- Table structure for table ethnicity
858 -- 
859
860 --DROP TABLE ethnicity;
861
862 CREATE TABLE ethnicity (
863 code varchar(10) NOT NULL default '',
864 name varchar(255) default NULL,
865 PRIMARY KEY (code)
866 );
867
868 -- 
869 -- Table structure for table issues
870 -- 
871
872 --DROP TABLE issues;
873
874 CREATE TABLE issues (
875 borrowernumber int default NULL,
876 itemnumber int default NULL,
877 date_due date default NULL,
878 branchcode varchar(10) default NULL,
879 issuingbranch varchar(18) default NULL,
880 returndate date default NULL,
881 lastreneweddate date default NULL,
882 return varchar(4) default NULL,
883 renewals int default NULL,
884 "timestamp" timestamp NOT NULL default (now()),
885 issuedate date default NULL
886 );
887 CREATE INDEX issues_borrowernumber_idx ON issues (borrowernumber);
888 CREATE INDEX issues_itemnumber_idx ON issues (itemnumber);
889 CREATE INDEX issues_bordate_idx ON issues (borrowernumber,timestamp);
890
891 -- 
892 -- Table structure for table issuingrules
893 -- 
894
895 --DROP TABLE issuingrules;
896
897 CREATE TABLE issuingrules (
898 categorycode varchar(10) NOT NULL default '',
899 itemtype varchar(10) NOT NULL default '',
900 restrictedtype int default NULL,
901 rentaldiscount decimal(28,6) default NULL,
902 reservecharge decimal(28,6) default NULL,
903 fine decimal(28,6) default NULL,
904 firstremind int default NULL,
905 chargeperiod int default NULL,
906 accountsent int default NULL,
907 chargename varchar(100) default NULL,
908 maxissueqty int default NULL,
909 issuelength int default NULL,
910 branchcode varchar(10) NOT NULL default '',
911 PRIMARY KEY (branchcode,categorycode,itemtype)
912 );
913 CREATE INDEX issuingrules_categorycode_idx ON issuingrules (categorycode);
914 CREATE INDEX issuingrules_itemtype_idx ON issuingrules (itemtype);
915
916 -- 
917 -- Table structure for table items
918 -- 
919
920 --DROP TABLE items;
921
922 CREATE TABLE items (
923 itemnumber int NOT NULL default 0,
924 biblionumber int NOT NULL default 0,
925 biblioitemnumber int NOT NULL default 0,
926 barcode varchar(20) default NULL,
927 dateaccessioned date default NULL,
928 booksellerid varchar(10) default NULL,
929 homebranch varchar(4) default NULL,
930 price decimal(8,2) default NULL,
931 replacementprice decimal(8,2) default NULL,
932 replacementpricedate date default NULL,
933 datelastborrowed date default NULL,
934 datelastseen date default NULL,
935 stack int default NULL,
936 notforloan int default NULL,
937 damaged int default NULL,
938 itemlost int default NULL,
939 wthdrawn int default NULL,
940 itemcallnumber varchar(30) default NULL,
941 issues int default NULL,
942 renewals int default NULL,
943 reserves int default NULL,
944 restricted int default NULL,
945 itemnotes text,
946 holdingbranch varchar(10) default NULL,
947 paidfor text,
948 "timestamp" timestamp NOT NULL default (now()),
949 "location" varchar(80) default NULL,
950 onloan date default NULL,
951 cutterextra varchar(45) default NULL,
952 itype varchar(10) default NULL,
953 PRIMARY KEY (itemnumber)
954 );
955 CREATE INDEX items_barcode_idx ON items (barcode);
956 CREATE INDEX items_biblioitemnumber_idx ON items (biblioitemnumber);
957 CREATE INDEX items_biblionumber_idx ON items (biblionumber);
958 CREATE INDEX items_homebranch_idx ON items (homebranch);
959 CREATE INDEX items_holdingbranch_idx ON items (holdingbranch);
960
961 -- 
962 -- Table structure for table itemtypes
963 -- 
964
965 --DROP TABLE itemtypes;
966
967 CREATE TABLE itemtypes (
968 itemtype varchar(10) UNIQUE NOT NULL default '',
969 description text,
970 renewalsallowed int default NULL,
971 rentalcharge numeric(16,4) default NULL,
972 notforloan int default NULL,
973 imageurl varchar(200) default NULL,
974 summary text,
975 PRIMARY KEY (itemtype)
976 );
977
978 -- 
979 -- Table structure for table labels
980 -- 
981
982 --DROP TABLE labels;
983
984 CREATE TABLE labels (
985 labelid BIGSERIAL UNIQUE NOT NULL,
986 batch_id varchar(10) NOT NULL default '1',
987 itemnumber varchar(100) NOT NULL default '',
988 "timestamp" timestamp NOT NULL default (now()),
989 PRIMARY KEY (labelid)
990 );
991
992 -- 
993 -- Table structure for table labels_conf
994 -- 
995
996 --DROP TABLE labels_conf;
997
998 CREATE TABLE labels_conf (
999 id BIGSERIAL UNIQUE NOT NULL,
1000 barcodetype varchar(100) default '',
1001 title int default '0',
1002 itemtype int default '0',
1003 barcode int default '0',
1004 dewey int default '0',
1005 "class" int default '0',
1006 subclass int default '0',
1007 itemcallnumber int default '0',
1008 author int default '0',
1009 issn int default '0',
1010 isbn int default '0',
1011 startlabel int NOT NULL default '1',
1012 printingtype varchar(32) default 'BAR',
1013 layoutname varchar(20) NOT NULL default 'TEST',
1014 guidebox int default '0',
1015 active int default '1',
1016 fonttype varchar(10) default NULL,
1017 subtitle int default NULL,
1018 PRIMARY KEY (id)
1019 );
1020
1021 -- 
1022 -- Table structure for table labels_templates
1023 -- 
1024
1025 --DROP TABLE labels_templates;
1026
1027 CREATE TABLE labels_templates (
1028 tmpl_id BIGSERIAL UNIQUE NOT NULL,
1029 tmpl_code varchar(100) default '',
1030 tmpl_desc varchar(100) default '',
1031 page_width float default '0',
1032 page_height float default '0',
1033 label_width float default '0',
1034 label_height float default '0',
1035 topmargin float default '0',
1036 leftmargin float default '0',
1037 cols int default '0',
1038 "rows" int default '0',
1039 colgap float default '0',
1040 rowgap float default '0',
1041 active int default NULL,
1042 units varchar(20) default 'PX',
1043 fontsize int NOT NULL default '3',
1044 PRIMARY KEY (tmpl_id)
1045 );
1046
1047 -- 
1048 -- Table structure for table letter
1049 -- 
1050
1051 --DROP TABLE letter;
1052
1053 CREATE TABLE letter (
1054 module varchar(20) NOT NULL default '',
1055 code varchar(20) NOT NULL default '',
1056 name varchar(100) NOT NULL default '',
1057 title varchar(200) NOT NULL default '',
1058 content text,
1059 PRIMARY KEY (module,code)
1060 );
1061
1062 -- 
1063 -- Table structure for table marc_breeding
1064 -- 
1065
1066 --DROP TABLE marc_breeding;
1067
1068 CREATE TABLE marc_breeding (
1069 id BIGSERIAL,
1070 file varchar(80) NOT NULL default '',
1071 isbn varchar(10) NOT NULL default '',
1072 title varchar(128) default NULL,
1073 author varchar(80) default NULL,
1074 marc bytea,
1075 "encoding" varchar(40) NOT NULL default '',
1076 z3950random varchar(40) default NULL,
1077 PRIMARY KEY (id)
1078 );
1079 CREATE INDEX marc_breeding_title_idx ON marc_breeding (title);
1080 CREATE INDEX marc_breeding_isbn_idx ON marc_breeding (isbn);
1081
1082 -- 
1083 -- Table structure for table marc_subfield_structure
1084 -- 
1085
1086 --DROP TABLE marc_subfield_structure;
1087
1088 CREATE TABLE marc_subfield_structure (
1089 tagfield varchar(3) NOT NULL default '',
1090 tagsubfield varchar(1) NOT NULL default '',
1091 liblibrarian varchar(255) NOT NULL default '',
1092 libopac varchar(255) NOT NULL default '',
1093 "repeatable" int NOT NULL default 0,
1094 mandatory int NOT NULL default 0,
1095 kohafield varchar(40) default NULL,
1096 tab int default NULL,
1097 authorised_value varchar(20) default NULL,
1098 authtypecode varchar(20) default NULL,
1099 value_builder varchar(80) default NULL,
1100 isurl int default NULL,
1101 hidden int default NULL,
1102 frameworkcode varchar(4) NOT NULL default '',
1103 seealso varchar(1100) default NULL,
1104 link varchar(80) default NULL,
1105 defaultvalue text default NULL,
1106 PRIMARY KEY (frameworkcode,tagfield,tagsubfield)
1107 );
1108 CREATE INDEX marc_subfield_structure_kohafield_2_idx ON marc_subfield_structure (kohafield);
1109 CREATE INDEX marc_subfield_structure_tab_idx ON marc_subfield_structure (frameworkcode,tab);
1110 CREATE INDEX marc_subfield_structure_kohafield_idx ON marc_subfield_structure (frameworkcode,kohafield);
1111
1112 -- 
1113 -- Table structure for table marc_tag_structure
1114 -- 
1115
1116 --DROP TABLE marc_tag_structure;
1117
1118 CREATE TABLE marc_tag_structure (
1119 tagfield varchar(3) NOT NULL default '',
1120 liblibrarian varchar(255) NOT NULL default '',
1121 libopac varchar(255) NOT NULL default '',
1122 "repeatable" int NOT NULL default 0,
1123 mandatory int NOT NULL default 0,
1124 authorised_value varchar(10) default NULL,
1125 frameworkcode varchar(4) NOT NULL default '',
1126 PRIMARY KEY (frameworkcode,tagfield)
1127 );
1128
1129 -- 
1130 -- Table structure for table mediatypetable
1131 -- 
1132
1133 --DROP TABLE mediatypetable;
1134
1135 CREATE TABLE mediatypetable (
1136 mediatypecode varchar(5) NOT NULL default '',
1137 description text,
1138 itemtypecodes text,
1139 PRIMARY KEY (mediatypecode)
1140 );
1141
1142 -- 
1143 -- Table structure for table notifys
1144 -- 
1145
1146 --DROP TABLE notifys;
1147
1148 CREATE TABLE notifys (
1149 notify_id int NOT NULL default 0,
1150 borrowernumber int NOT NULL default 0,
1151 itemnumber int NOT NULL default 0,
1152 notify_date date default NULL,
1153 notify_send_date date default NULL,
1154 notify_level int NOT NULL default 0,
1155 method varchar(20) NOT NULL default ''
1156 );
1157
1158 -- 
1159 -- Table structure for table nozebra
1160 -- 
1161 CREATE TABLE nozebra (
1162 server varchar(20) NOT NULL,
1163 indexname varchar(40) NOT NULL,
1164 value varchar(250) NOT NULL,
1165 biblionumbers text NOT NULL
1166 );
1167 CREATE INDEX nozebra_indexname_idx ON nozebra (server,indexname);
1168 CREATE INDEX nozebra_value_idx ON nozebra (server,value);
1169
1170 -- 
1171 -- Table structure for table opac_news
1172 -- 
1173
1174 --DROP TABLE opac_news;
1175
1176 CREATE TABLE opac_news (
1177 idnew SERIAL NOT NULL,
1178 title varchar(250) NOT NULL default '',
1179 "new" text NOT NULL,
1180 lang varchar(4) NOT NULL default '',
1181 "timestamp" timestamp NOT NULL default CURRENT_TIMESTAMP,
1182 expirationdate date default NULL,
1183 number int default NULL,
1184 PRIMARY KEY (idnew)
1185 );
1186
1187 -- 
1188 -- Table structure for table overduerules
1189 -- 
1190
1191 --DROP TABLE overduerules;
1192
1193 CREATE TABLE overduerules (
1194 branchcode varchar(10) NOT NULL default '',
1195 categorycode varchar(2) NOT NULL default '',
1196 delay1 int default 0,
1197 letter1 varchar(20) default NULL,
1198 debarred1 varchar(1) default 0,
1199 delay2 int default 0,
1200 debarred2 varchar(1) default 0,
1201 letter2 varchar(20) default NULL,
1202 delay3 int default 0,
1203 letter3 varchar(20) default NULL,
1204 debarred3 int default 0,
1205 PRIMARY KEY (branchcode,categorycode)
1206 );
1207
1208 -- 
1209 -- Table structure for table printers
1210 -- 
1211
1212 --DROP TABLE printers;
1213
1214 CREATE TABLE printers (
1215 printername varchar(40) NOT NULL default '',
1216 printqueue varchar(20) default NULL,
1217 printtype varchar(20) default NULL,
1218 PRIMARY KEY (printername)
1219 );
1220
1221 -- 
1222 -- Table structure for table repeatable_holidays
1223 -- 
1224
1225 --DROP TABLE repeatable_holidays;
1226
1227 CREATE TABLE repeatable_holidays (
1228 id BIGSERIAL,
1229 branchcode varchar(10) NOT NULL default '',
1230 weekday int default NULL,
1231 "day" int default NULL,
1232 "month" int default NULL,
1233 title varchar(50) NOT NULL default '',
1234 description text NOT NULL,
1235 PRIMARY KEY (id)
1236 );
1237
1238 -- 
1239 -- Table structure for table reserveCONSTRAINTs
1240 -- 
1241
1242 --DROP TABLE reserveCONSTRAINTs;
1243
1244 CREATE TABLE reserveCONSTRAINTs (
1245 borrowernumber int NOT NULL default 0,
1246 reservedate date default NULL,
1247 biblionumber int NOT NULL default 0,
1248 biblioitemnumber int default NULL,
1249 "timestamp" timestamp NOT NULL default (now())
1250 );
1251
1252 -- 
1253 -- Table structure for table reserves
1254 -- 
1255
1256 --DROP TABLE reserves;
1257
1258 CREATE TABLE reserves (
1259 borrowernumber int NOT NULL default 0,
1260 reservedate date default NULL,
1261 biblionumber int NOT NULL default 0,
1262 CONSTRAINTtype varchar(1) default NULL,
1263 branchcode varchar(10) default NULL,
1264 notificationdate date default NULL,
1265 reminderdate date default NULL,
1266 cancellationdate date default NULL,
1267 reservenotes text,
1268 priority int default NULL,
1269 found varchar(1) default NULL,
1270 "timestamp" timestamp NOT NULL default (now()),
1271 itemnumber int default NULL,
1272 waitingdate date default NULL
1273 );
1274 CREATE INDEX reserves_borrowernumber_idx ON reserves (borrowernumber);
1275 CREATE INDEX reserves_biblionumber__idx ON reserves (biblionumber);
1276 CREATE INDEX reserves_itemnumber__idx ON reserves (itemnumber);
1277 CREATE INDEX reserves_branchcode_idx ON reserves (branchcode);
1278
1279 -- 
1280 -- Table structure for table reviews
1281 -- 
1282
1283 --DROP TABLE reviews;
1284
1285 CREATE TABLE reviews (
1286 reviewid BIGSERIAL,
1287 borrowernumber int default NULL,
1288 biblionumber int default NULL,
1289 review text,
1290 approved int default NULL,
1291 datereviewed timestamp default NULL,
1292 PRIMARY KEY (reviewid)
1293 );
1294
1295 -- 
1296 -- Table structure for table roadtype
1297 -- 
1298
1299 --DROP TABLE roadtype;
1300
1301 CREATE TABLE roadtype (
1302 roadtypeid BIGSERIAL,
1303 road_type varchar(100) NOT NULL default '',
1304 PRIMARY KEY (roadtypeid)
1305 );
1306
1307 -- 
1308 -- Table structure for table serial
1309 -- 
1310
1311 --DROP TABLE serial;
1312
1313 CREATE TABLE serial (
1314 serialid BIGSERIAL,
1315 biblionumber varchar(100) NOT NULL default '',
1316 subscriptionid varchar(100) NOT NULL default '',
1317 serialseq varchar(100) NOT NULL default '',
1318 status int NOT NULL default 0,
1319 planneddate date default NULL,
1320 notes text,
1321 publisheddate date default NULL,
1322 itemnumber text,
1323 claimdate date default NULL,
1324 routingnotes text,
1325 PRIMARY KEY (serialid)
1326 );
1327
1328 -- 
1329 -- Table structure for table sessions
1330 -- 
1331
1332 --DROP TABLE sessions;
1333
1334 CREATE TABLE sessions (
1335 id varchar(32) UNIQUE NOT NULL,
1336 a_session text NOT NULL
1337 );
1338
1339 -- 
1340 -- Table structure for table special_holidays
1341 -- 
1342
1343 --DROP TABLE special_holidays;
1344
1345 CREATE TABLE special_holidays (
1346 id BIGSERIAL,
1347 branchcode varchar(10) NOT NULL default '',
1348 "day" int NOT NULL default 0,
1349 "month" int NOT NULL default 0,
1350 "year" int NOT NULL default 0,
1351 isexception int NOT NULL default '1',
1352 title varchar(50) NOT NULL default '',
1353 description text NOT NULL,
1354 PRIMARY KEY (id)
1355 );
1356
1357 -- 
1358 -- Table structure for table statistics
1359 -- 
1360
1361 --DROP TABLE statistics;
1362
1363 CREATE TABLE statistics (
1364 datetime timestamp default NULL,
1365 "timestamp" timestamp default NULL,
1366 branch varchar(10) default NULL,
1367 proccode varchar(4) default NULL,
1368 value numeric(16,4) default NULL,
1369 "type" varchar(16) default NULL,
1370 other text,
1371 usercode varchar(10) default NULL,
1372 itemnumber int default NULL,
1373 itemtype varchar(10) default NULL,
1374 borrowernumber int default NULL,
1375 associatedborrower int default NULL
1376 );
1377 CREATE INDEX statistics_timeidx_idx ON statistics (datetime);
1378
1379 -- 
1380 -- Table structure for table stopwords
1381 -- 
1382
1383 --DROP TABLE stopwords;
1384
1385 CREATE TABLE stopwords (
1386 word varchar(255) default NULL
1387 );
1388
1389 -- 
1390 -- Table structure for table subcategorytable
1391 -- 
1392
1393 --DROP TABLE subcategorytable;
1394
1395 CREATE TABLE subcategorytable (
1396 subcategorycode varchar(5) NOT NULL default '',
1397 description text,
1398 itemtypecodes text,
1399 PRIMARY KEY (subcategorycode)
1400 );
1401
1402 -- 
1403 -- Table structure for table subscription
1404 -- 
1405
1406 --DROP TABLE subscription;
1407
1408 CREATE TABLE subscription (
1409 biblionumber int NOT NULL default 0,
1410 subscriptionid BIGSERIAL,
1411 librarian varchar(100) default '',
1412 startdate date default NULL,
1413 aqbooksellerid int default 0,
1414 cost int default 0,
1415 aqbudgetid int default 0,
1416 weeklength int default 0,
1417 monthlength int default 0,
1418 numberlength int default 0,
1419 periodicity int default 0,
1420 dow varchar(100) default '',
1421 numberingmethod varchar(100) default '',
1422 notes text,
1423 status varchar(100) NOT NULL default '',
1424 add1 int default 0,
1425 every1 int default 0,
1426 whenmorethan1 int default 0,
1427 setto1 int default NULL,
1428 lastvalue1 int default NULL,
1429 add2 int default 0,
1430 every2 int default 0,
1431 whenmorethan2 int default 0,
1432 setto2 int default NULL,
1433 lastvalue2 int default NULL,
1434 add3 int default 0,
1435 every3 int default 0,
1436 innerloop1 int default 0,
1437 innerloop2 int default 0,
1438 innerloop3 int default 0,
1439 whenmorethan3 int default 0,
1440 setto3 int default NULL,
1441 lastvalue3 int default NULL,
1442 issuesatonce int NOT NULL default '1',
1443 firstacquidate date default NULL,
1444 manualhistory int NOT NULL default 0,
1445 irregularity text,
1446 letter varchar(20) default NULL,
1447 numberpattern int default 0,
1448 distributedto text,
1449 internalnotes text,
1450 callnumber text,
1451 branchcode varchar(10) NOT NULL default '',
1452 hemisphere int default 0,
1453 PRIMARY KEY (subscriptionid)
1454 );
1455
1456 -- 
1457 -- Table structure for table subscriptionhistory
1458 -- 
1459
1460 --DROP TABLE subscriptionhistory;
1461
1462 CREATE TABLE subscriptionhistory (
1463 biblionumber int NOT NULL default 0,
1464 subscriptionid int NOT NULL default 0,
1465 histstartdate date default NULL,
1466 enddate date default NULL,
1467 missinglist text NOT NULL,
1468 recievedlist text NOT NULL,
1469 opacnote varchar(150) NOT NULL default '',
1470 librariannote varchar(150) NOT NULL default '',
1471 PRIMARY KEY (subscriptionid)
1472 );
1473 CREATE INDEX subscriptionhistory_biblionumber_idx ON subscriptionhistory (biblionumber);
1474
1475 -- 
1476 -- Table structure for table subscriptionroutinglist
1477 -- 
1478
1479 --DROP TABLE subscriptionroutinglist;
1480
1481 CREATE TABLE subscriptionroutinglist (
1482 routingid BIGSERIAL,
1483 borrowernumber int default NULL,
1484 ranking int default NULL,
1485 subscriptionid int default NULL,
1486 PRIMARY KEY (routingid)
1487 );
1488
1489 -- 
1490 -- Table structure for table suggestions
1491 -- 
1492
1493 --DROP TABLE suggestions;
1494
1495 CREATE TABLE suggestions (
1496 suggestionid BIGSERIAL,
1497 suggestedby int NOT NULL default 0,
1498 managedby int default NULL,
1499 STATUS varchar(10) NOT NULL default '',
1500 note text,
1501 author varchar(80) default NULL,
1502 title varchar(80) default NULL,
1503 copyrightdate int default NULL,
1504 publishercode varchar(255) default NULL,
1505 date timestamp NOT NULL default (now()),
1506 volumedesc varchar(255) default NULL,
1507 publicationyear int default 0,
1508 place varchar(255) default NULL,
1509 isbn varchar(10) default NULL,
1510 mailoverseeing int default 0,
1511 biblionumber int default NULL,
1512 reason text,
1513 PRIMARY KEY (suggestionid)
1514 );
1515 CREATE INDEX suggestions_suggestedby_idx ON suggestions (suggestedby);
1516 CREATE INDEX suggestions_managedby_idx ON suggestions (managedby);
1517
1518 -- 
1519 -- Table structure for table systempreferences
1520 -- 
1521
1522 --DROP TABLE systempreferences;
1523
1524 CREATE TABLE systempreferences (
1525 variable varchar(50) NOT NULL default '',
1526 value text,
1527 options text,
1528 explanation text,
1529 type varchar(20) default NULL,
1530 PRIMARY KEY (variable)
1531 );
1532
1533 -- 
1534 -- Table structure for table tags
1535 -- 
1536
1537 --DROP TABLE tags;
1538
1539 CREATE TABLE tags (
1540 entry varchar(255) NOT NULL default '',
1541 weight int NOT NULL default 0,
1542 PRIMARY KEY (entry)
1543 );
1544
1545 -- 
1546 -- Table structure for table userflags
1547 -- 
1548
1549 --DROP TABLE userflags;
1550
1551 CREATE TABLE userflags (
1552 "bit" int NOT NULL default 0,
1553 flag varchar(30) default NULL,
1554 flagdesc varchar(255) default NULL,
1555 defaulton int default NULL,
1556 PRIMARY KEY (bit)
1557 );
1558
1559 -- 
1560 -- Table structure for table virtualshelves
1561 -- 
1562
1563 --DROP TABLE virtualshelves;
1564
1565 CREATE TABLE virtualshelves (
1566 shelfnumber BIGSERIAL,
1567 shelfname varchar(255) default NULL,
1568 "owner" varchar(80) default NULL,
1569 category varchar(1) default NULL,
1570 PRIMARY KEY (shelfnumber)
1571 );
1572
1573 -- 
1574 -- Table structure for table virtualshelfcontents
1575 -- 
1576
1577 --DROP TABLE virtualshelfcontents;
1578
1579 CREATE TABLE virtualshelfcontents (
1580 shelfnumber int NOT NULL default 0,
1581 biblionumber int NOT NULL default 0,
1582 flags int default NULL,
1583 dateadded timestamp NULL default NULL
1584 );
1585 CREATE INDEX virtualshelfcontents_shelfnumber_idx ON virtualshelfcontents (shelfnumber);
1586 CREATE INDEX virtualshelfcontents_biblionumber_idx ON virtualshelfcontents (biblionumber);
1587
1588 -- 
1589 -- Table structure for table z3950servers
1590 -- 
1591
1592 --DROP TABLE z3950servers;
1593
1594 CREATE TABLE z3950servers (
1595 host varchar(255) default NULL,
1596 port int default NULL,
1597 db varchar(255) default NULL,
1598 userid varchar(255) default NULL,
1599 "password" varchar(255) default NULL,
1600 name text,
1601 id BIGSERIAL,
1602 checked int default NULL,
1603 rank int default NULL,
1604 syntax varchar(80) default NULL,
1605 icon text,
1606 "position" varchar(10) NOT NULL default 'primary',
1607 "type" varchar(10) NOT NULL default 'zed',
1608 description text NOT NULL,
1609 CHECK ( position IN ('primary', 'secondary', '' )),
1610 CHECK ( type IN ('zed', 'opensearch', '' )),
1611 PRIMARY KEY (id)
1612 );
1613
1614 -- 
1615 -- Table structure for table zebraqueue
1616 -- 
1617
1618 --DROP TABLE zebraqueue;
1619
1620 CREATE TABLE zebraqueue (
1621 id BIGSERIAL,
1622 biblio_auth_number int NOT NULL default 0,
1623 operation varchar(20) NOT NULL default '',
1624 server varchar(20) NOT NULL default '',
1625 PRIMARY KEY (id)
1626 );
1627
1628 --
1629 -- Add FK's last... (just because...)
1630 --
1631
1632 ALTER TABLE accountlines ADD CONSTRAINT accountlines_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON DELETE CASCADE ON UPDATE CASCADE;
1633 ALTER TABLE accountlines ADD CONSTRAINT accountlines_ibfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE SET NULL ON UPDATE SET NULL;
1634
1635 -- Added this FK based on the FK in other tables referencing borrowers.borrowernumber  -fbcit
1636
1637 ALTER TABLE accountoffsets ADD CONSTRAINT accountoffsets_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE;
1638
1639 --
1640
1641 ALTER TABLE aqbasket ADD CONSTRAINT aqbasket_ibfk_1 FOREIGN KEY (booksellerid) REFERENCES aqbooksellers (id) ON UPDATE CASCADE;
1642 ALTER TABLE aqbooksellers ADD CONSTRAINT aqbooksellers_ibfk_1 FOREIGN KEY (listprice) REFERENCES currency (currency) ON DELETE CASCADE ON UPDATE CASCADE;
1643 ALTER TABLE aqbooksellers ADD CONSTRAINT aqbooksellers_ibfk_2 FOREIGN KEY (invoiceprice) REFERENCES currency (currency) ON DELETE CASCADE ON UPDATE CASCADE;
1644 ALTER TABLE aqorderbreakdown ADD CONSTRAINT aqorderbreakdown_ibfk_1 FOREIGN KEY (ordernumber) REFERENCES aqorders (ordernumber) ON DELETE CASCADE ON UPDATE CASCADE;
1645 ALTER TABLE aqorderbreakdown ADD CONSTRAINT aqorderbreakdown_ibfk_2 FOREIGN KEY (bookfundid) REFERENCES aqbookfund (bookfundid) ON DELETE CASCADE ON UPDATE CASCADE;
1646 ALTER TABLE aqorders ADD CONSTRAINT aqorders_ibfk_1 FOREIGN KEY (basketno) REFERENCES aqbasket (basketno) ON DELETE CASCADE ON UPDATE CASCADE;
1647 ALTER TABLE aqorders ADD CONSTRAINT aqorders_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE SET NULL ON UPDATE SET NULL;
1648 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;
1649 ALTER TABLE biblioitems ADD CONSTRAINT biblioitems_ibfk_1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE;
1650 ALTER TABLE borrowers ADD CONSTRAINT borrowers_ibfk_1 FOREIGN KEY (categorycode) REFERENCES categories (categorycode);
1651 ALTER TABLE borrowers ADD CONSTRAINT borrowers_ibfk_2 FOREIGN KEY (branchcode) REFERENCES branches (branchcode);
1652 ALTER TABLE branchrelations ADD CONSTRAINT branchrelations_ibfk_1 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1653 ALTER TABLE branchrelations ADD CONSTRAINT branchrelations_ibfk_2 FOREIGN KEY (categorycode) REFERENCES branchcategories (categorycode) ON DELETE CASCADE ON UPDATE CASCADE;
1654 ALTER TABLE branchtransfers ADD CONSTRAINT branchtransfers_ibfk_1 FOREIGN KEY (frombranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1655 ALTER TABLE branchtransfers ADD CONSTRAINT branchtransfers_ibfk_2 FOREIGN KEY (tobranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1656 ALTER TABLE branchtransfers ADD CONSTRAINT branchtransfers_ibfk_3 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1657 ALTER TABLE class_sources ADD CONSTRAINT class_sources_ibfk_1 FOREIGN KEY (class_sort_rule) REFERENCES class_sort_rules (class_sort_rule);
1658 ALTER TABLE issues ADD CONSTRAINT issues_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON DELETE SET NULL ON UPDATE SET NULL;
1659 ALTER TABLE issues ADD CONSTRAINT issues_ibfk_2 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE SET NULL ON UPDATE SET NULL;
1660 ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (biblioitemnumber) REFERENCES biblioitems (biblioitemnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1661 ALTER TABLE items ADD CONSTRAINT items_ibfk_2 FOREIGN KEY (homebranch) REFERENCES branches (branchcode) ON UPDATE CASCADE;
1662 ALTER TABLE items ADD CONSTRAINT items_ibfk_3 FOREIGN KEY (holdingbranch) REFERENCES branches (branchcode) ON UPDATE CASCADE;
1663 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) MATCH SIMPLE ON DELETE CASCADE ON UPDATE CASCADE;
1664 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE;
1665 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_3 FOREIGN KEY (itemnumber) REFERENCES items (itemnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1666 ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_4 FOREIGN KEY (branchcode) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE;
1667 ALTER TABLE virtualshelfcontents ADD CONSTRAINT virtualshelfcontents_ibfk_1 FOREIGN KEY (shelfnumber) REFERENCES virtualshelves (shelfnumber) ON DELETE CASCADE ON UPDATE CASCADE;
1668 ALTER TABLE virtualshelfcontents ADD CONSTRAINT virtualshelfcontents_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE;
1669
1670 --commit;