d98e1c4b31644598fc8ad039e7655e7a1acd2e03
[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_usrname            TEXT            
184     ,l_first_name         TEXT
185     ,l_family_name        TEXT
186     ,l_email              TEXT
187     ,l_password           TEXT
188     ,l_home_library       TEXT
189     ,l_profile1           TEXT
190     ,l_profile2           TEXT
191     ,l_profile3           TEXT
192     ,l_work_ou            TEXT
193     ,l_note               TEXT
194     ,l_note2              TEXT
195     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
196 ) INHERITS (actor_usr);
197
198 INSERT INTO gsheet_tracked_table 
199     (table_name,tab_name,created)
200 VALUES 
201     ('map_create_account','New Accounts',NOW())
202 ;
203
204 INSERT INTO gsheet_tracked_column 
205     (table_id,column_name) 
206 VALUES 
207      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_usrname')
208     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_first_name')
209     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_family_name')
210     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_email')
211     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_password')
212     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_home_library')
213     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile1')
214     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile2')
215     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile3')
216     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou')
217     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note')
218     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note2')
219 ;
220
221
222 CREATE TABLE map_threshold (
223     id                  SERIAL
224     ,profile            TEXT            
225     ,checkout_threshold TEXT
226     ,fine_threshold     TEXT
227     ,overdue_threshold  TEXT
228     ,note               TEXT
229 );
230
231 INSERT INTO gsheet_tracked_table 
232     (table_name,tab_name,created)
233 VALUES 
234     ('map_threshold','Patron Thresholds',NOW())
235 ;
236
237 INSERT INTO gsheet_tracked_column 
238     (table_id,column_name) 
239 VALUES 
240      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'profile')
241     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'checkout_threshold')
242     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'fine_threshold')
243     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'overdue_threshold')
244     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'note')
245 ;
246
247
248 CREATE TABLE map_misc (
249     id             SERIAL
250     ,count       TEXT            
251     ,option        TEXT
252     ,choice        TEXT
253     ,value         TEXT
254     ,note          TEXT
255 );
256
257 INSERT INTO gsheet_tracked_table 
258     (table_name,tab_name,created)
259 VALUES 
260     ('map_misc','Miscellaneous Options',NOW())
261 ;
262
263 INSERT INTO gsheet_tracked_column 
264     (table_id,column_name) 
265 VALUES 
266      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'count')
267     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'option')
268     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'Choice')
269     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'value')
270     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'note')
271 ;
272
273 CREATE TABLE map_org_setting (
274     l_id             SERIAL
275     ,l_name          TEXT            
276     ,l_label         TEXT
277     ,l_entry_type    TEXT
278     ,l_org_unit      TEXT
279     ,l_value         TEXT
280     ,l_note          TEXT
281 );
282
283 INSERT INTO gsheet_tracked_table 
284     (table_name,tab_name,created)
285 VALUES 
286     ('map_org_setting','Org Settings',NOW())
287 ;
288
289 INSERT INTO gsheet_tracked_column 
290     (table_id,column_name) 
291 VALUES 
292      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_name')
293     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_label')
294     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_entry_type')
295     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_org_unit')
296     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_value')
297     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_note')
298 ;
299
300
301 CREATE TABLE map_bib_manipulations (
302     id               SERIAL
303     ,action          TEXT
304     ,field           TEXT
305     ,subfield        TEXT
306     ,matching_value  TEXT
307     ,target_value    TEXT
308     ,note            TEXT
309 );
310
311 INSERT INTO gsheet_tracked_table
312     (table_name,tab_name,created)
313 VALUES
314     ('map_bib_manipulations','Bib Records',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 = 'Bib Records'),'name')
321     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'action')
322     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'field')
323     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'subfield')
324     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'matching_value')
325     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'target_value')
326     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'note')
327 ;
328
329