redoing the holds mapping table
[migration-tools.git] / mig-sql / init / 020_common_tables.sql
1 CREATE TABLE map_hold_policies (
2     l_user_home_ou      TEXT
3     ,l_request_ou       TEXT
4     ,l_item_owning_ou   TEXT
5     ,l_item_circ_ou     TEXT
6     ,l_requestor_grp    TEXT
7     ,l_circ_modifier    TEXT
8     ,l_active           TEXT
9     ,l_holdable         TEXT
10     ,l_max_holds        TEXT
11     ,l_includes_frozen_holds    TEXT
12     ,l_distiance_is_from_owner  TEXT
13     ,l_transit_range    TEXT
14     ,l_usr_grp          TEXT
15     ,x_user_home_ou     INTEGER
16     ,x_request_ou       INTEGER
17     ,x_item_owning_ou   INTEGER
18     ,x_item_circ_ou     INTEGER
19     ,x_requestor_grp    INTEGER
20     ,x_circ_modifier    TEXT
21     ,x_active           BOOLEAN
22     ,x_holdable         BOOLEAN
23     ,x_max_holds        INTEGER
24     ,x_includes_frozen_holds    BOOLEAN
25     ,x_distiance_is_from_owner  BOOLEAN
26     ,x_transit_range    INTEGER
27     ,x_usr_grp          INTEGER    
28    ,x_migrate           BOOLEAN DEFAULT TRUE
29 );
30
31 INSERT INTO gsheet_tracked_table 
32     (table_name,tab_name,created)
33 VALUES
34     ('map_hold_policies','Hold Policies',NOW())
35 ;
36
37 INSERT INTO gsheet_tracked_column
38     (table_id,column_name)
39 VALUES
40      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_user_home_ou')
41     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_request_ou')
42     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_item_owning_ou')
43     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_item_circ_ou')
44     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_requestor_grp')
45     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_circ_modifier')
46     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_active')
47     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_holdable')
48     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_max_holds')
49     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_includes_frozen_holds')
50     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_distance_is_from_owner')
51     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_transit_range')
52     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_usr_grp')
53 ;
54
55
56 CREATE TABLE map_circ_policies (
57     l_org_unit              TEXT
58     ,l_user_group           TEXT
59     ,l_copy_owning_lib      TEXT
60     ,l_user_home_lib        TEXT
61     ,l_circ_mod             TEXT
62     ,l_copy_location        TEXT
63     ,l_circulate            TEXT
64     ,l_circ_limit_set       TEXT
65     ,l_duration_rule        TEXT
66     ,l_fine_rule            TEXT
67     ,l_grace_override       TEXT
68     ,l_max_fine             TEXT
69     ,l_notes                TEXT
70     ,x_org_unit             INTEGER
71     ,x_user_group           INTEGER
72     ,x_copy_owning_lib      INTEGER
73     ,x_user_home_lib        INTEGER
74     ,x_circ_mod             TEXT
75     ,x_copy_location        INTEGER
76     ,x_circulate            BOOLEAN
77     ,x_circ_limit_set       INTEGER
78     ,x_duration_rule        INTEGER
79     ,x_fine_rule            INTEGER
80     ,x_grace_override       INTERVAL
81     ,x_max_fine             INTEGER
82     ,x_migrate              BOOLEAN DEFAULT FALSE
83 );
84
85 INSERT INTO gsheet_tracked_table
86     (table_name,tab_name,created)
87 VALUES
88     ('map_circ_policies','Circ Policies',NOW())
89 ;
90
91 INSERT INTO gsheet_tracked_column
92     (table_id,column_name)
93 VALUES
94      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_org_unit')
95     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_user_group')
96     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_copy_owning')
97     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_user_home_lib')
98     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circ_mod')
99     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_copy_location')
100     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circulate')
101     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circ_limit_set')
102     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_duration_rule')
103     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_fine_rule')
104     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_grace_override')
105     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_max_fine')
106     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_notes')
107 ;
108
109 CREATE TABLE map_create_shelving_location (
110     l_id                  SERIAL
111     ,l_owning_lib         TEXT            
112     ,l_copy_location      TEXT
113     ,l_opac_visible       TEXT
114     ,l_checkin_alert      TEXT
115     ,l_holdable           TEXT
116     ,l_circulate          TEXT
117     ,l_note               TEXT
118     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
119     ,x_shelf              INTEGER
120 ) INHERITS (asset_copy_location);
121
122 INSERT INTO gsheet_tracked_table 
123     (table_name,tab_name,created)
124 VALUES 
125     ('map_create_shelving_location','New Copy Locations',NOW())
126 ;
127
128 INSERT INTO gsheet_tracked_column 
129     (table_id,column_name) 
130 VALUES 
131      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_owning_lib')
132     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_copy_location')
133     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_opac_visible')
134     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_checkin_alert')
135     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_holdable')
136     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_circulate')
137     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_note')
138 ;
139
140 CREATE TABLE map_create_account (
141     l_id                  SERIAL
142     ,l_usrname            TEXT            
143     ,l_first_name         TEXT
144     ,l_family_name        TEXT
145     ,l_email              TEXT
146     ,l_password           TEXT
147     ,l_home_library       TEXT
148     ,l_profile1           TEXT
149     ,l_profile2           TEXT
150     ,l_profile3           TEXT
151     ,l_work_ou            TEXT
152     ,l_note               TEXT
153     ,l_note2              TEXT
154     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
155 ) INHERITS (actor_usr);
156
157 INSERT INTO gsheet_tracked_table 
158     (table_name,tab_name,created)
159 VALUES 
160     ('map_create_account','New Accounts',NOW())
161 ;
162
163 INSERT INTO gsheet_tracked_column 
164     (table_id,column_name) 
165 VALUES 
166      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_usrname')
167     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_first_name')
168     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_family_name')
169     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_email')
170     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_password')
171     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_home_library')
172     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile1')
173     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile2')
174     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile3')
175     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou')
176     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note')
177     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note2')
178 ;
179
180
181 CREATE TABLE map_threshold (
182     id                  SERIAL
183     ,profile            TEXT            
184     ,checkout_threshold TEXT
185     ,fine_threshold     TEXT
186     ,overdue_threshold  TEXT
187     ,note               TEXT
188 );
189
190 INSERT INTO gsheet_tracked_table 
191     (table_name,tab_name,created)
192 VALUES 
193     ('map_threshold','Patron Thresholds',NOW())
194 ;
195
196 INSERT INTO gsheet_tracked_column 
197     (table_id,column_name) 
198 VALUES 
199      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'profile')
200     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'checkout_threshold')
201     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'fine_threshold')
202     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'overdue_threshold')
203     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'note')
204 ;
205
206
207 CREATE TABLE map_misc (
208     id             SERIAL
209     ,count       TEXT            
210     ,option        TEXT
211     ,choice        TEXT
212     ,value         TEXT
213     ,note          TEXT
214 );
215
216 INSERT INTO gsheet_tracked_table 
217     (table_name,tab_name,created)
218 VALUES 
219     ('map_misc','Miscellaneous Options',NOW())
220 ;
221
222 INSERT INTO gsheet_tracked_column 
223     (table_id,column_name) 
224 VALUES 
225      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'count')
226     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'option')
227     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'Choice')
228     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'value')
229     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'note')
230 ;
231
232 CREATE TABLE map_org_setting (
233     l_id             SERIAL
234     ,l_name          TEXT            
235     ,l_label         TEXT
236     ,l_entry_type    TEXT
237     ,l_org_unit      TEXT
238     ,l_value         TEXT
239     ,l_note          TEXT
240 );
241
242 INSERT INTO gsheet_tracked_table 
243     (table_name,tab_name,created)
244 VALUES 
245     ('map_org_setting','Org Settings',NOW())
246 ;
247
248 INSERT INTO gsheet_tracked_column 
249     (table_id,column_name) 
250 VALUES 
251      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_name')
252     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_label')
253     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_entry_type')
254     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_org_unit')
255     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_value')
256     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_note')
257 ;
258
259
260 CREATE TABLE map_bib_manipulations (
261     id               SERIAL
262     ,action          TEXT
263     ,field           TEXT
264     ,subfield        TEXT
265     ,matching_value  TEXT
266     ,target_value    TEXT
267     ,note            TEXT
268 );
269
270 INSERT INTO gsheet_tracked_table
271     (table_name,tab_name,created)
272 VALUES
273     ('map_bib_manipulations','Bib Records',NOW())
274 ;
275
276 INSERT INTO gsheet_tracked_column
277     (table_id,column_name)
278 VALUES
279      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'name')
280     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'action')
281     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'field')
282     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'subfield')
283     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'matching_value')
284     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'target_value')
285     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'note')
286 ;
287
288