9c1503e0f12acd124531fc21bf106da72c38dbaa
[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_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_circ_limit_sets (
110     l_owning_lib        TEXT
111     ,l_name             TEXT
112     ,l_items_out        TEXT
113     ,l_depth            TEXT
114     ,l_global           TEXT
115     ,l_description      TEXT
116     ,l_circ_mod         TEXT
117     ,l_copy_loc         TEXT
118     ,x_owning_lib       INTEGER
119     ,x_name             TEXT
120     ,x_items_out        INTEGER
121     ,x_global           BOOLEAN
122     ,x_depth            INTEGER
123     ,x_description      TEXT
124 );
125
126 INSERT INTO gsheet_tracked_table
127     (table_name,tab_name,created)
128 VALUES
129     ('map_circ_limit_sets','Circ Limit Sets',NOW())
130 ;
131
132 INSERT INTO gsheet_tracked_column
133     (table_id,column_name)
134 VALUES
135      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_owning_lib')
136     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_name')
137     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_items_out')
138     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_depth')
139     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_global')
140     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_description')
141     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_circ_mod')
142     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Limit Sets'),'l_copy_loc')
143 ;
144
145 CREATE TABLE map_create_shelving_location (
146     l_id                  SERIAL
147     ,l_owning_lib         TEXT            
148     ,l_copy_location      TEXT
149     ,l_opac_visible       TEXT
150     ,l_checkin_alert      TEXT
151     ,l_holdable           TEXT
152     ,l_circulate          TEXT
153     ,l_note               TEXT
154     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
155     ,x_shelf              INTEGER
156 ) INHERITS (asset_copy_location);
157
158 INSERT INTO gsheet_tracked_table 
159     (table_name,tab_name,created)
160 VALUES 
161     ('map_create_shelving_location','New Copy Locations',NOW())
162 ;
163
164 INSERT INTO gsheet_tracked_column 
165     (table_id,column_name) 
166 VALUES 
167      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_owning_lib')
168     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_copy_location')
169     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_opac_visible')
170     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_checkin_alert')
171     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_holdable')
172     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_circulate')
173     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Copy Locations'),'l_note')
174 ;
175
176 CREATE TABLE map_create_account (
177     l_id                  SERIAL
178     ,l_usrname            TEXT            
179     ,l_first_name         TEXT
180     ,l_family_name        TEXT
181     ,l_email              TEXT
182     ,l_password           TEXT
183     ,l_home_library       TEXT
184     ,l_profile1           TEXT
185     ,l_profile2           TEXT
186     ,l_profile3           TEXT
187     ,l_work_ou            TEXT
188     ,l_note               TEXT
189     ,l_note2              TEXT
190     ,x_migrate            BOOLEAN NOT NULL DEFAULT TRUE
191 ) INHERITS (actor_usr);
192
193 INSERT INTO gsheet_tracked_table 
194     (table_name,tab_name,created)
195 VALUES 
196     ('map_create_account','New Accounts',NOW())
197 ;
198
199 INSERT INTO gsheet_tracked_column 
200     (table_id,column_name) 
201 VALUES 
202      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_usrname')
203     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_first_name')
204     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_family_name')
205     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_email')
206     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_password')
207     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_home_library')
208     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile1')
209     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile2')
210     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_profile3')
211     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_work_ou')
212     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note')
213     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'New Accounts'),'l_note2')
214 ;
215
216
217 CREATE TABLE map_threshold (
218     id                  SERIAL
219     ,profile            TEXT            
220     ,checkout_threshold TEXT
221     ,fine_threshold     TEXT
222     ,overdue_threshold  TEXT
223     ,note               TEXT
224 );
225
226 INSERT INTO gsheet_tracked_table 
227     (table_name,tab_name,created)
228 VALUES 
229     ('map_threshold','Patron Thresholds',NOW())
230 ;
231
232 INSERT INTO gsheet_tracked_column 
233     (table_id,column_name) 
234 VALUES 
235      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'profile')
236     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'checkout_threshold')
237     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'fine_threshold')
238     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'overdue_threshold')
239     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Patron Thresholds'),'note')
240 ;
241
242
243 CREATE TABLE map_misc (
244     id             SERIAL
245     ,count       TEXT            
246     ,option        TEXT
247     ,choice        TEXT
248     ,value         TEXT
249     ,note          TEXT
250 );
251
252 INSERT INTO gsheet_tracked_table 
253     (table_name,tab_name,created)
254 VALUES 
255     ('map_misc','Miscellaneous Options',NOW())
256 ;
257
258 INSERT INTO gsheet_tracked_column 
259     (table_id,column_name) 
260 VALUES 
261      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'count')
262     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'option')
263     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'Choice')
264     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'value')
265     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Miscellaneous Options'),'note')
266 ;
267
268 CREATE TABLE map_org_setting (
269     l_id             SERIAL
270     ,l_name          TEXT            
271     ,l_label         TEXT
272     ,l_entry_type    TEXT
273     ,l_org_unit      TEXT
274     ,l_value         TEXT
275     ,l_note          TEXT
276 );
277
278 INSERT INTO gsheet_tracked_table 
279     (table_name,tab_name,created)
280 VALUES 
281     ('map_org_setting','Org Settings',NOW())
282 ;
283
284 INSERT INTO gsheet_tracked_column 
285     (table_id,column_name) 
286 VALUES 
287      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_name')
288     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_label')
289     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_entry_type')
290     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_org_unit')
291     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_value')
292     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Org Settings'),'l_note')
293 ;
294
295
296 CREATE TABLE map_bib_manipulations (
297     id               SERIAL
298     ,action          TEXT
299     ,field           TEXT
300     ,subfield        TEXT
301     ,matching_value  TEXT
302     ,target_value    TEXT
303     ,note            TEXT
304 );
305
306 INSERT INTO gsheet_tracked_table
307     (table_name,tab_name,created)
308 VALUES
309     ('map_bib_manipulations','Bib Records',NOW())
310 ;
311
312 INSERT INTO gsheet_tracked_column
313     (table_id,column_name)
314 VALUES
315      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'name')
316     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'action')
317     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'field')
318     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'subfield')
319     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'matching_value')
320     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'target_value')
321     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Bib Records'),'note')
322 ;
323
324