initdb.sh 1.25 KB
Newer Older
Bertrand Gauthier's avatar
Bertrand Gauthier committed
1
2
3
#!/bin/bash
set -e

4
5
SQL_DIR="/sql"

Bertrand Gauthier's avatar
Bertrand Gauthier committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
##
## Lancement des scripts SQL présents dans le répertoire `/sql`.
##

unset PGHOST PGPORT PGDATABASE PGUSER PGPASSWORD # précaution

#echo "SYGAL_DB = $SYGAL_DB"
#echo "SYGAL_USER = $SYGAL_USER"
#echo "SYGAL_PASSWORD = $SYGAL_PASSWORD"

#
# Exécution EN TANT QUE SUPER-USER de tous les scripts .sql présents dans le répertoire `/sql/admin`.
# NB : il est possible de substituer ces scripts par les vôtres grâce à un volume à monter dans `/sql/admin`.
#
20
21
if [ -d "${SQL_DIR}/admin" ]; then
  cd ${SQL_DIR}/admin
Bertrand Gauthier's avatar
Bertrand Gauthier committed
22
  export \
23
24
25
26
  PGDATABASE=$POSTGRES_DB \
  PGUSER=$POSTGRES_USER \
  PGPASSWORD=$POSTGRES_PASSWORD \
  ON_ERROR_STOP=1
Bertrand Gauthier's avatar
Bertrand Gauthier committed
27
28
29
30
31
32
33
34
35
36
37
38
39
  for f in *.sql; do
    psql \
      -v "dbname=${SYGAL_DB}" \
      -v "dbuser=${SYGAL_USER}" \
      -v "dbpassword='${SYGAL_PASSWORD}'" \
      -f $f
  done
fi

#
# Exécution de tous les scripts .sql présents dans le répertoire `/sql`.
# NB : il est possible de substituer ces scripts par les vôtres grâce à un volume à monter dans `/sql`.
#
40
cd ${SQL_DIR}
Bertrand Gauthier's avatar
Bertrand Gauthier committed
41
export \
42
43
44
45
ON_ERROR_STOP=1 \
PGDATABASE=$SYGAL_DB \
PGUSER=$SYGAL_USER \
PGPASSWORD=$SYGAL_PASSWORD
Bertrand Gauthier's avatar
Bertrand Gauthier committed
46
47
48
49
50
51
52
for f in *.sql; do
  psql \
    -v "dbuser=${SYGAL_USER}" \
    -f $f
done

unset PGHOST PGPORT PGDATABASE PGUSER PGPASSWORD # précaution