1 DROP SCHEMA config CASCADE;
6 CREATE TABLE config.bib_source (
8 quality INT CHECK ( quality BETWEEN 0 AND 100 ),
9 source TEXT NOT NULL UNIQUE
12 INSERT INTO config.bib_source (quality, source) VALUES (90, 'OcLC');
13 INSERT INTO config.bib_source (quality, source) VALUES (10, 'System Local');
15 CREATE TABLE config.standing (
16 id SERIAL PRIMARY KEY,
17 value TEXT NOT NULL UNIQUE
20 INSERT INTO config.standing (value) VALUES ('Good');
21 INSERT INTO config.standing (value) VALUES ('Barred');
22 INSERT INTO config.standing (value) VALUES ('Blocked');
24 CREATE TABLE config.metabib_field (
25 id SERIAL PRIMARY KEY,
26 field_class TEXT NOT NULL CHECK (lower(field_class) IN ('title','author','subject','keyword')),
27 name TEXT NOT NULL UNIQUE,
31 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'abbreviated', $$//mods:mods/mods:titleInfo[mods:title and (@type='abreviated')]$$ );
32 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'translated', $$//mods:mods/mods:titleInfo[mods:title and (@type='translated')]$$ );
33 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'uniform', $$//mods:mods/mods:titleInfo[mods:title and (@type='uniform')]$$ );
34 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'proper', $$//mods:mods/mods:titleInfo[mods:title and not (@type)]$$ );
35 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'corporate', $$//mods:mods/mods:name[@type='corporate']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
36 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'personal', $$//mods:mods/mods:name[@type='personal']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
37 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'conference', $$//mods:mods/mods:name[@type='conference']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
38 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'other', $$//mods:mods/mods:name[@type='personal']/mods:namePart[not(../mods:role)]$$ );
39 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'geographic', $$//mods:mods/mods:subject/mods:geographic$$ );
40 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'name', $$//mods:mods/mods:subject/mods:name$$ );
41 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'temporal', $$//mods:mods/mods:subject/mods:temporal$$ );
42 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'topic', $$//mods:mods/mods:subject/mods:topic$$ );
43 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'genre', $$//mods:mods/mods:genre$$ );
44 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'keyword', 'keyword', $$//mods:mods/*[not(local-name()='originInfo')]$$ ); -- /* to fool vim */
46 CREATE TABLE config.identification_type (
47 id SERIAL PRIMARY KEY,
48 name TEXT NOT NULL UNIQUE
51 INSERT INTO config.identification_type ( name ) VALUES ( 'Drivers Licence' );
52 INSERT INTO config.identification_type ( name ) VALUES ( 'Voter Card' );
53 INSERT INTO config.identification_type ( name ) VALUES ( 'Two Utility Bills' );
54 INSERT INTO config.identification_type ( name ) VALUES ( 'State ID' );
55 INSERT INTO config.identification_type ( name ) VALUES ( 'SSN' );
57 CREATE TABLE config.rule_circ_duration (
58 id SERIAL PRIMARY KEY,
59 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
60 extended INTERVAL NOT NULL,
61 normal INTERVAL NOT NULL,
62 short INTERVAL NOT NULL,
63 max_renewals INT NOT NULL
66 CREATE TABLE config.rule_max_fine (
67 id SERIAL PRIMARY KEY,
68 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
69 amount NUMERIC(6,2) NOT NULL
72 CREATE TABLE config.rule_recuring_fine (
73 id SERIAL PRIMARY KEY,
74 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
75 high NUMERIC(6,2) NOT NULL,
76 normal NUMERIC(6,2) NOT NULL,
77 low NUMERIC(6,2) NOT NULL
80 CREATE TABLE config.rule_age_hold_protect (
81 id SERIAL PRIMARY KEY,
82 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
83 age INTERVAL NOT NULL,
87 CREATE TABLE config.copy_status (
88 id SERIAL PRIMARY KEY,
89 name TEXT NOT NULL UNIQUE
91 INSERT INTO config.copy_status (id,name) VALUES (0,'Available');
92 INSERT INTO config.copy_status (name) VALUES ('Checked out');
93 INSERT INTO config.copy_status (name) VALUES ('Bindery');
94 INSERT INTO config.copy_status (name) VALUES ('Lost');
95 INSERT INTO config.copy_status (name) VALUES ('Missing');
96 INSERT INTO config.copy_status (name) VALUES ('In process');
97 INSERT INTO config.copy_status (name) VALUES ('In transit');
98 INSERT INTO config.copy_status (name) VALUES ('Reshelving');
99 INSERT INTO config.copy_status (name) VALUES ('On holds shelf');
100 INSERT INTO config.copy_status (name) VALUES ('On order');
101 INSERT INTO config.copy_status (name) VALUES ('ILL');
102 INSERT INTO config.copy_status (name) VALUES ('Cataloging');
103 INSERT INTO config.copy_status (name) VALUES ('Reserves');
104 INSERT INTO config.copy_status (name) VALUES ('Discard/Weed');
106 CREATE TABLE config.net_access_level (
107 id SERIAL PRIMARY KEY,
108 name TEXT NOT NULL UNIQUE
110 INSERT INTO config.net_access_level (name) VALUES ('Restricted');
111 INSERT INTO config.net_access_level (name) VALUES ('Full');
112 INSERT INTO config.net_access_level (name) VALUES ('None');