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