]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/099.matrix_weights.sql
Merge branch 'master' of git.evergreen-ils.org:Evergreen-DocBook into doc_consolidati...
[Evergreen.git] / Open-ILS / src / sql / Pg / 099.matrix_weights.sql
1
2 BEGIN;
3
4 -- Circ Matrix Weights
5 CREATE TABLE config.circ_matrix_weights (
6     id                      SERIAL  PRIMARY KEY,
7     name                    TEXT    NOT NULL UNIQUE,
8     org_unit                NUMERIC(6,2)   NOT NULL,
9     grp                     NUMERIC(6,2)   NOT NULL,
10     circ_modifier           NUMERIC(6,2)   NOT NULL,
11     marc_type               NUMERIC(6,2)   NOT NULL,
12     marc_form               NUMERIC(6,2)   NOT NULL,
13     marc_bib_level          NUMERIC(6,2)   NOT NULL,
14     marc_vr_format          NUMERIC(6,2)   NOT NULL,
15     copy_circ_lib           NUMERIC(6,2)   NOT NULL,
16     copy_owning_lib         NUMERIC(6,2)   NOT NULL,
17     user_home_ou            NUMERIC(6,2)   NOT NULL,
18     ref_flag                NUMERIC(6,2)   NOT NULL,
19     juvenile_flag           NUMERIC(6,2)   NOT NULL,
20     is_renewal              NUMERIC(6,2)   NOT NULL,
21     usr_age_lower_bound     NUMERIC(6,2)   NOT NULL,
22     usr_age_upper_bound     NUMERIC(6,2)   NOT NULL,
23     item_age                NUMERIC(6,2)   NOT NULL
24 );
25
26 -- Hold Matrix Weights
27 CREATE TABLE config.hold_matrix_weights (
28     id                      SERIAL  PRIMARY KEY,
29     name                    TEXT    NOT NULL UNIQUE,
30     user_home_ou            NUMERIC(6,2)   NOT NULL,
31     request_ou              NUMERIC(6,2)   NOT NULL,
32     pickup_ou               NUMERIC(6,2)   NOT NULL,
33     item_owning_ou          NUMERIC(6,2)   NOT NULL,
34     item_circ_ou            NUMERIC(6,2)   NOT NULL,
35     usr_grp                 NUMERIC(6,2)   NOT NULL,
36     requestor_grp           NUMERIC(6,2)   NOT NULL,
37     circ_modifier           NUMERIC(6,2)   NOT NULL,
38     marc_type               NUMERIC(6,2)   NOT NULL,
39     marc_form               NUMERIC(6,2)   NOT NULL,
40     marc_bib_level          NUMERIC(6,2)   NOT NULL,
41     marc_vr_format          NUMERIC(6,2)   NOT NULL,
42     juvenile_flag           NUMERIC(6,2)   NOT NULL,
43     ref_flag                NUMERIC(6,2)   NOT NULL,
44     item_age                NUMERIC(6,2)   NOT NULL
45 );
46
47 -- Linking between weights and org units
48 CREATE TABLE config.weight_assoc (
49     id                      SERIAL  PRIMARY KEY,
50     active                  BOOL    NOT NULL,
51     org_unit                INT     NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
52     circ_weights            INT     REFERENCES config.circ_matrix_weights (id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED,
53     hold_weights            INT     REFERENCES config.hold_matrix_weights (id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED
54 );
55 CREATE UNIQUE INDEX cwa_one_active_per_ou ON config.weight_assoc (org_unit) WHERE active;
56
57 COMMIT;