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