rebuild of derived values columns for map_circ_polices
[migration-tools.git] / mig-sql / init / 020_common_tables.sql
1 CREATE TABLE map_hold_policies (
2     l_org_unit            TEXT
3     ,l_user_group         TEXT
4     ,l_circ_mod           TEXT
5     ,l_holdable           TEXT
6     ,l_max_holds          TEXT
7     ,l_include_frozen     TEXT
8     ,l_transit_range      TEXT
9     ,l_range_from         TEXT
10     ,l_notes              TEXT
11     ,x_org_unit           INTEGER
12     ,x_grp_id             INTEGER
13     ,x_migrate            BOOLEAN DEFAULT TRUE
14 );
15
16 INSERT INTO gsheet_tracked_table 
17     (table_name,tab_name,created)
18 VALUES
19     ('map_hold_policies','Hold Policies',NOW())
20 ;
21
22 INSERT INTO gsheet_tracked_column
23     (table_id,column_name)
24 VALUES
25      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_org_unit')
26     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_user_group')
27     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_circ_mod')
28     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_holdable')
29     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_max_holds')
30     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_include_frozen')
31     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_transit_range')
32     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_range_from')
33     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Policies'),'l_notes')
34 ;
35
36  CREATE TABLE map_hold_combo_policies (
37     l_user_home_lib         TEXT
38     ,l_request_lib          TEXT
39     ,l_owning_lib           TEXT
40     ,l_item_circ_lib        TEXT
41     ,l_request_user_group   TEXT
42     ,l_circ_mod             TEXT
43     ,l_active               TEXT
44     ,l_holdable             TEXT
45     ,l_max_holds            TEXT
46     ,l_max_includes_frozen  TEXT
47     ,l_range_from           TEXT
48     ,l_transit_range        TEXT
49     ,l_user_group           TEXT
50     ,l_notes                TEXT
51     ,x_user_home_lib        INTEGER
52     ,x_request_lib          INTEGER
53     ,x_owning_lib           INTEGER
54     ,x_item_circ_lib        INTEGER
55     ,x_request_user_group   INTEGER
56     ,x_circ_mod             TEXT
57     ,x_active               BOOLEAN DEFAULT TRUE
58     ,x_holdable             BOOLEAN DEFAULT TRUE
59     ,x_max_holds            INTEGER
60     ,x_max_includes_frozen  BOOLEAN DEFAULT FALSE
61     ,x_range_from           BOOLEAN DEFAULT TRUE
62     ,x_transit_range        INTEGER
63     ,x_user_group           INTEGER
64     ,x_migrate              BOOLEAN DEFAULT TRUE
65 );
66
67 INSERT INTO gsheet_tracked_table
68     (table_name,tab_name,created)
69 VALUES
70     ('map_hold_combo_policies','Hold Combos',NOW())
71 ;
72
73 INSERT INTO gsheet_tracked_column
74     (table_id,column_name)
75 VALUES
76      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_user_home_lib')
77     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_request_lib')
78     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_owning_lib')
79     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_item_circ_lib')
80     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_request_user_group')
81     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_circ_mod')
82     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_active')
83     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_holdable')
84     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_max_holds')
85     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_max_includes_frozen')
86     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_range_from')
87     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_transit_range')
88     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_user_group')
89     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Hold Combos'),'l_notes')
90 ;
91
92 CREATE TABLE map_circ_policies (
93     l_org_unit              TEXT
94     ,l_user_group           TEXT
95     ,l_copy_owning_lib      TEXT
96     ,l_user_home_lib        TEXT
97     ,l_circ_mod             TEXT
98     ,l_copy_location        TEXT
99     ,l_circulate            TEXT
100     ,l_circ_limit_set       TEXT
101     ,l_duration_rule        TEXT
102     ,l_fine_rule            TEXT
103     ,l_grace_override       TEXT
104     ,l_max_fine             TEXT
105     ,l_notes                TEXT
106     ,x_org_unit             INTEGER
107     ,x_user_group           INTEGER
108     ,x_copy_owning_lib      INTEGER
109     ,x_user_home_lib        INTEGER
110     ,x_circ_mod             TEXT
111     ,x_copy_location        INTEGER
112     ,x_circulate            BOOLEAN
113     ,x_circ_limit_set       INTEGER
114     ,x_duration_rule        INTEGER
115     ,x_fine_rule            INTEGER
116     ,x_grace_override       INTERVAL
117     ,x_max_fine             INTEGER
118     ,x_migrate              BOOLEAN DEFAULT FALSE
119 );
120
121 INSERT INTO gsheet_tracked_table
122     (table_name,tab_name,created)
123 VALUES
124     ('map_circ_policies','Circ Policies',NOW())
125 ;
126
127 INSERT INTO gsheet_tracked_column
128     (table_id,column_name)
129 VALUES
130      ((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_org_unit')
131     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_user_group')
132     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_copy_owning')
133     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_user_home_lib')
134     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circ_mod')
135     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_copy_location')
136     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circulate')
137     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_circ_limit_set')
138     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_duration_rule')
139     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_fine_rule')
140     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_grace_override')
141     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_max_fine')
142     ,((SELECT id FROM gsheet_tracked_table WHERE tab_name = 'Circ Policies'),'l_notes')
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