adding libraries to the gsheet for patron thresholds
[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_distance_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_distance_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_circ_limit_quantity  INTEGER
83     ,x_circ_limit_parts     INTEGER
84     ,x_circ_limit_ou_name   TEXT
85     ,x_circ_limit_ou_id     INTEGER
86     ,x_circ_limit_id        INTEGER
87     ,x_migrate              BOOLEAN DEFAULT FALSE
88 );
89
90 INSERT INTO gsheet_tracked_table
91     (table_name,tab_name,created)
92 VALUES
93     ('map_circ_policies','Circ Policies',NOW())
94 ;
95
96 INSERT INTO gsheet_tracked_column
97     (table_id,column_name)
98 VALUES
99      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_org_unit')
100     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_user_group')
101     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_copy_owning')
102     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_user_home_lib')
103     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circ_mod')
104     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_copy_location')
105     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circulate')
106     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circ_limit_set')
107     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_duration_rule')
108     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_fine_rule')
109     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_grace_override')
110     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_max_fine')
111     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_notes')
112 ;
113
114 CREATE TABLE map_circ_limit_sets (
115     l_owning_lib        TEXT
116     ,l_name             TEXT
117     ,l_items_out        TEXT
118     ,l_depth            TEXT
119     ,l_global           TEXT
120     ,l_description      TEXT
121     ,l_circ_mod         TEXT
122     ,l_copy_loc         TEXT
123     ,x_owning_lib       INTEGER
124     ,x_name             TEXT
125     ,x_items_out        INTEGER
126     ,x_global           BOOLEAN
127     ,x_depth            INTEGER
128     ,x_description      TEXT
129 );
130
131 INSERT INTO gsheet_tracked_table
132     (table_name,tab_name,created)
133 VALUES
134     ('map_circ_limit_sets','Circ Limit Sets',NOW())
135 ;
136
137 INSERT INTO gsheet_tracked_column
138     (table_id,column_name)
139 VALUES
140      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_owning_lib')
141     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_name')
142     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_items_out')
143     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_depth')
144     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_global')
145     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_description')
146     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_circ_mod')
147     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_copy_loc')
148 ;
149
150 CREATE TABLE map_create_shelving_location (
151     l_id                  SERIAL
152     ,l_owning_lib         TEXT            
153     ,l_copy_location      TEXT
154     ,l_opac_visible       TEXT
155     ,l_checkin_alert      TEXT
156     ,l_holdable           TEXT
157     ,l_circulate          TEXT
158     ,l_note               TEXT
159     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
160     ,x_shelf              INTEGER
161 ) INHERITS (asset_copy_location);
162
163 INSERT INTO gsheet_tracked_table 
164     (table_name,tab_name,created)
165 VALUES 
166     ('map_create_shelving_location','New Copy Locations',NOW())
167 ;
168
169 INSERT INTO gsheet_tracked_column 
170     (table_id,column_name) 
171 VALUES 
172      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_owning_lib')
173     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_copy_location')
174     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_opac_visible')
175     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_checkin_alert')
176     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_holdable')
177     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_circulate')
178     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_note')
179 ;
180
181 CREATE TABLE map_create_account (
182     l_id                  SERIAL
183     ,l_barcode            TEXT
184     ,l_usrname            TEXT            
185     ,l_first_name         TEXT
186     ,l_family_name        TEXT
187     ,l_email              TEXT
188     ,l_password           TEXT
189     ,l_home_library       TEXT
190     ,l_profile1           TEXT
191     ,l_profile2           TEXT
192     ,l_profile3           TEXT
193     ,l_work_ou1           TEXT
194     ,l_work_ou2           TEXT
195     ,l_work_ou3           TEXT
196     ,l_work_ou4           TEXT
197     ,l_work_ou5           TEXT
198     ,l_work_ou6           TEXT
199     ,l_work_ou7           TEXT
200     ,l_work_ou8           TEXT
201     ,l_work_ou9           TEXT
202     ,l_work_ou10          TEXT
203     ,l_work_ou11          TEXT
204     ,l_work_ou12          TEXT
205     ,l_work_ou13          TEXT
206     ,l_note               TEXT
207     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
208 );
209
210 INSERT INTO gsheet_tracked_table 
211     (table_name,tab_name,created)
212 VALUES 
213     ('map_create_account','New Accounts',NOW())
214 ;
215
216 INSERT INTO gsheet_tracked_column 
217     (table_id,column_name) 
218 VALUES 
219      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_usrname')
220     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_barcode')
221     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_first_name')
222     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_family_name')
223     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_email')
224     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_password')
225     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_home_library')
226     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile1')
227     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile2')
228     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile3')
229     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou1')
230     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou2')
231     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou3')
232     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou4')
233     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou5')
234     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou6')
235     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou7')
236     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou8')
237     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou9')
238     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou10')
239     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou11')
240     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou12')
241     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou13')
242     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note')
243 ;
244
245
246
247
248 CREATE TABLE map_threshold (
249     id                  SERIAL
250     ,library            TEXT
251     ,profile            TEXT            
252     ,checkout_threshold TEXT
253     ,fine_threshold     TEXT
254     ,overdue_threshold  TEXT
255     ,note               TEXT
256 );
257
258 INSERT INTO gsheet_tracked_table 
259     (table_name,tab_name,created)
260 VALUES 
261     ('map_threshold','Patron Thresholds',NOW())
262 ;
263
264 INSERT INTO gsheet_tracked_column 
265     (table_id,column_name) 
266 VALUES 
267      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'profile')
268     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'library')
269     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'checkout_threshold')
270     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'fine_threshold')
271     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'overdue_threshold')
272     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'note')
273 ;
274
275
276 CREATE TABLE map_misc (
277     id             SERIAL
278     ,count       TEXT            
279     ,option        TEXT
280     ,choice        TEXT
281     ,value         TEXT
282     ,note          TEXT
283 );
284
285 INSERT INTO gsheet_tracked_table 
286     (table_name,tab_name,created)
287 VALUES 
288     ('map_misc','Miscellaneous Options',NOW())
289 ;
290
291 INSERT INTO gsheet_tracked_column 
292     (table_id,column_name) 
293 VALUES 
294      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'count')
295     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'option')
296     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'Choice')
297     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'value')
298     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'note')
299 ;
300
301 CREATE TABLE map_org_setting (
302     l_id             SERIAL
303     ,l_name          TEXT            
304     ,l_label         TEXT
305     ,l_entry_type    TEXT
306     ,l_org_unit      TEXT
307     ,l_value         TEXT
308     ,l_note          TEXT
309 );
310
311 INSERT INTO gsheet_tracked_table 
312     (table_name,tab_name,created)
313 VALUES 
314     ('map_org_setting','Org Settings',NOW())
315 ;
316
317 INSERT INTO gsheet_tracked_column 
318     (table_id,column_name) 
319 VALUES 
320      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_name')
321     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_label')
322     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_entry_type')
323     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_org_unit')
324     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_value')
325     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_note')
326 ;
327
328
329 CREATE TABLE map_bib_manipulations (
330     id               SERIAL
331     ,action          TEXT
332     ,field           TEXT
333     ,subfield        TEXT
334     ,matching_value  TEXT
335     ,target_value    TEXT
336     ,note            TEXT
337 );
338
339 INSERT INTO gsheet_tracked_table
340     (table_name,tab_name,created)
341 VALUES
342     ('map_bib_manipulations','Bib Records',NOW())
343 ;
344
345 INSERT INTO gsheet_tracked_column
346     (table_id,column_name)
347 VALUES
348      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'name')
349     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'action')
350     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'field')
351     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'subfield')
352     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'matching_value')
353     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'target_value')
354     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'note')
355 ;
356
357