-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathimport.sh
33 lines (25 loc) · 1.33 KB
/
import.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env bash
echo "++++++++++++++++++ HELLO, DB = $POSTGRES_DB"
echo '++++++++++++++++++ SOCRBASE TABLE CREATED'
echo
pgdbf $PATH_TO_DBF_FILES/SOCRBASE.DBF | iconv -f cp866 -t utf-8 | psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB
echo '++++++++++++++++++ CHECKING ADDROBJ FILES'
if [ -f $PATH_TO_DBF_FILES/ADDROB01.DBF ]; then
mv $PATH_TO_DBF_FILES/ADDROB01.DBF $PATH_TO_DBF_FILES/ADDROBJ.DBF
echo '++++++++++++++++++ ADDROBJ INITIAL FILE MOVED'
fi
pgdbf $PATH_TO_DBF_FILES/ADDROBJ.DBF | iconv -f cp866 -t utf-8 | psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB
echo '++++++++++++++++++ INITIAL ADDROBJ TABLE CREATED'
for FULLPATH in `find $PATH_TO_DBF_FILES/ADDROB* -type f`
do
FILE="${FULLPATH##*/}"
TABLE="${FILE%.*}"
if [ $TABLE = 'ADDROBJ' ]; then
echo 'SKIPPING ADDROBJ'
else
pgdbf $FULLPATH | iconv -f cp866 -t utf-8 | psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB
echo "++++++++++++++++++ TABLE $TABLE CREATED"
echo "++++++++++++++++++ INSERT $TABLE DATA INTO ADDROBJ"
psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB -c "INSERT INTO addrobj SELECT * FROM $TABLE; DROP TABLE $TABLE;"
fi
done