1 |
8291
|
aaronmk
|
#!/bin/bash -e
|
2 |
8273
|
aaronmk
|
|
3 |
|
|
if false; then #### run script template:
|
4 |
8291
|
aaronmk
|
#!/bin/bash -e
|
5 |
8273
|
aaronmk
|
. "$(dirname "${BASH_SOURCE[0]}")"/path/to/table.run
|
6 |
8161
|
aaronmk
|
|
7 |
9039
|
aaronmk
|
func_override import__table_run
|
8 |
9074
|
aaronmk
|
import()
|
9 |
8273
|
aaronmk
|
{
|
10 |
8881
|
aaronmk
|
echo_func
|
11 |
8273
|
aaronmk
|
before_import_cmds
|
12 |
9681
|
aaronmk
|
self_make import__table_run "$@"
|
13 |
8273
|
aaronmk
|
after_import_cmds
|
14 |
|
|
}
|
15 |
|
|
fi ####
|
16 |
8213
|
aaronmk
|
|
17 |
8296
|
aaronmk
|
. "$(dirname "${BASH_SOURCE[0]}")"/import.run
|
18 |
9854
|
aaronmk
|
.rel subdir.run
|
19 |
|
|
.rel ../sh/db_make.sh
|
20 |
8273
|
aaronmk
|
|
21 |
8705
|
aaronmk
|
if self_not_included; then
|
22 |
|
|
|
23 |
9585
|
aaronmk
|
: "${table=$subdir}"; export table
|
24 |
|
|
|
25 |
|
|
table_make() { subdir_make "$@"; }
|
26 |
|
|
|
27 |
9935
|
aaronmk
|
install_log_rel=logs/install.log.sql
|
28 |
|
|
|
29 |
9934
|
aaronmk
|
table_make_install()
|
30 |
|
|
{
|
31 |
9935
|
aaronmk
|
echo_func; local install_log="${install_log-$top_dir/$install_log_rel}"
|
32 |
9934
|
aaronmk
|
local verbosity_min= # install logs require default verbosity
|
33 |
|
|
set -- table_make "$@"
|
34 |
|
|
if remaking || test ! -e "$install_log"; then "$@" # OK to clobber log
|
35 |
|
|
else benign_error=1 noclobber=1 "$@" || true
|
36 |
|
|
fi
|
37 |
|
|
}
|
38 |
|
|
|
39 |
9936
|
aaronmk
|
datasrc_make_install()
|
40 |
|
|
{
|
41 |
|
|
echo_func
|
42 |
|
|
subdir=. install_log="$top_dir/../$install_log_rel" table_make_install "$@"
|
43 |
|
|
}
|
44 |
|
|
|
45 |
9074
|
aaronmk
|
map_table()
|
46 |
8161
|
aaronmk
|
{
|
47 |
9838
|
aaronmk
|
echo_func; set_make_vars
|
48 |
9386
|
aaronmk
|
table_make map.csv
|
49 |
10156
|
aaronmk
|
local map_table="\"~$table.map\"" # sort after other tables to avoid clutter
|
50 |
8214
|
aaronmk
|
psql <<EOF
|
51 |
10156
|
aaronmk
|
SELECT util.reset_map_table('$map_table');
|
52 |
|
|
ALTER TABLE $map_table DISABLE TRIGGER map_filter_insert;
|
53 |
|
|
\copy $map_table FROM 'map.csv' CSV HEADER;
|
54 |
|
|
SELECT util.set_col_names_with_metadata('"$table"', '$map_table'::regclass);
|
55 |
8161
|
aaronmk
|
EOF
|
56 |
|
|
}
|
57 |
8198
|
aaronmk
|
|
58 |
9838
|
aaronmk
|
mk_derived()
|
59 |
|
|
{ echo_func; set_make_vars; "$root_dir"/schemas/VegCore/mk_derived; }
|
60 |
8245
|
aaronmk
|
|
61 |
9074
|
aaronmk
|
remake_VegBIEN_mappings()
|
62 |
8245
|
aaronmk
|
{
|
63 |
9838
|
aaronmk
|
echo_func; set_make_vars
|
64 |
9047
|
aaronmk
|
public_schema_exists || return 0
|
65 |
9946
|
aaronmk
|
if remaking; then in_top_dir rm header.csv map.csv; fi # remake them
|
66 |
9967
|
aaronmk
|
piped_cmd yes|table_make test
|
67 |
8245
|
aaronmk
|
}
|
68 |
8273
|
aaronmk
|
|
69 |
9074
|
aaronmk
|
postprocess() # overridable
|
70 |
8273
|
aaronmk
|
{
|
71 |
9838
|
aaronmk
|
echo_func; set_make_vars
|
72 |
8273
|
aaronmk
|
local file="$top_dir"/postprocess.sql
|
73 |
|
|
if test -e "$file"; then psql "$@"; fi
|
74 |
|
|
}
|
75 |
|
|
|
76 |
9836
|
aaronmk
|
load_data()
|
77 |
9392
|
aaronmk
|
{
|
78 |
9838
|
aaronmk
|
echo_func; set_make_vars
|
79 |
9937
|
aaronmk
|
datasrc_make_install schema
|
80 |
9934
|
aaronmk
|
table_make_install ${_remake:+re}install # just the table
|
81 |
9392
|
aaronmk
|
}
|
82 |
|
|
|
83 |
9074
|
aaronmk
|
import()
|
84 |
8273
|
aaronmk
|
{
|
85 |
9838
|
aaronmk
|
echo_func; set_make_vars
|
86 |
9841
|
aaronmk
|
self_make load_data
|
87 |
8282
|
aaronmk
|
map_table
|
88 |
|
|
postprocess
|
89 |
10171
|
aaronmk
|
mk_derived
|
90 |
9947
|
aaronmk
|
remake_VegBIEN_mappings
|
91 |
8273
|
aaronmk
|
}
|
92 |
8705
|
aaronmk
|
|
93 |
|
|
fi
|