Project

General

Profile

1
#!/bin/bash -e
2
# links to locally-available resources
3
. "$(dirname "${BASH_SOURCE[0]}")"/util.sh
4

    
5
if self_not_included; then
6

    
7
root_dir="$(dirname "${BASH_SOURCE[0]}")"/..
8
bin_dir="$root_dir"/bin
9
bin_dir_abs="$(realpath "$bin_dir")"
10

    
11
export PATH="$bin_dir_abs:$PATH"
12

    
13
#### make
14

    
15
root_make () { echo_func; make --directory="$root_dir" "$@"; }
16

    
17
#### connection vars
18

    
19
: "${remote_server=vegbiendev.nceas.ucsb.edu}"
20
: "${local_server=localhost}"
21
: "${local_user=bien}"
22
: "${local_password="$(cat "$root_dir"/config/bien_password)"}"
23

    
24
#### databases
25

    
26
### MySQL
27

    
28
: "${postgres_compat=1}"
29

    
30
mysql () { echo_func; echo_run mysql_bien --database="$schema" --verbose "$@"; }
31

    
32
mysqldump_local () { echo_func; use_local_remote; mysqldump_diffable "$@"; }
33

    
34
### PostgreSQL
35

    
36
psql () # usage: [file=...] [dir=...] self
37
{
38
	echo_func
39
	if test -n "$file"; then
40
		set -- --file "$file" "$@"
41
		local dir="${dir:-$(dirname "$file")}"
42
	fi
43
	local dir="${dir:-$top_dir}"
44
	
45
	local psql_cmd="psql_$(if log_sql; then echo verbose; else echo script; fi)_vegbien"
46
	(cat <<EOF
47
\cd $dir
48
\set schema "$schema"
49
\set table "$table"
50
\set table_str '''"$table"'''
51
SET search_path TO "$schema", util;
52
EOF
53
	cat)|
54
	env no_search_path=1 "$psql_cmd" --output /dev/fd/4 "$@" 4>&1 >&2
55
}
56

    
57
fi
(24-24/51)