Skip to content

Commit 00eb4b1

Browse files
committed
Add database update
1 parent f35bebe commit 00eb4b1

File tree

3 files changed

+89
-0
lines changed

3 files changed

+89
-0
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,8 @@ LINUX_DEPS_CLEAN += apt-rpm/$(PACKAGE_NAME).spec
236236
LINUX_DEPS += rpm/bin/documentserver-configure.sh
237237
LINUX_DEPS += apt-rpm/bin/documentserver-configure.sh
238238

239+
LINUX_DEPS += rpm/bin/documentserver-upgrade.sh
240+
239241
LINUX_DEPS_CLEAN += rpm/bin/*.sh
240242
LINUX_DEPS_CLEAN += apt-rpm/bin/*.sh
241243

rpm/bin/documentserver-upgrade.sh.m4

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
#!/bin/bash
2+
3+
DIR="/var/www/M4_DS_PREFIX"
4+
LOCAL_CONFIG="/etc/M4_DS_PREFIX/local.json"
5+
JSON_BIN="$DIR/npm/json"
6+
JSON="$JSON_BIN -f $LOCAL_CONFIG"
7+
8+
load_db_params(){
9+
DB_HOST=$($JSON services.CoAuthoring.sql.dbHost)
10+
DB_NAME=$($JSON services.CoAuthoring.sql.dbName)
11+
DB_USER=$($JSON services.CoAuthoring.sql.dbUser)
12+
DB_PWD=$($JSON services.CoAuthoring.sql.dbPass)
13+
DB_TYPE=$($JSON services.CoAuthoring.sql.type)
14+
DB_PORT=$($JSON services.CoAuthoring.sql.dbPort)
15+
}
16+
17+
execute_postgres_scripts(){
18+
echo -n "Updating PostgreSQL database... "
19+
20+
for i in $(ls $DIR/server/schema/postgresql/upgrade/upgrade*); do
21+
$PSQL -d "$DB_NAME" -f ${i} >/dev/null 2>&1;
22+
done
23+
24+
echo "OK"
25+
}
26+
27+
establish_postgres_conn() {
28+
echo -n "Trying to establish PostgreSQL connection... "
29+
30+
command -v psql >/dev/null 2>&1 || { echo "PostgreSQL client not found"; exit 1; }
31+
32+
CONNECTION_PARAMS="-h$DB_HOST -U$DB_USER -w"
33+
if [ -n "$DB_PWD" ]; then
34+
export PGPASSWORD=$DB_PWD
35+
fi
36+
37+
PSQL="psql -q $CONNECTION_PARAMS"
38+
39+
$PSQL -c ";" >/dev/null 2>&1 || { echo "FAILURE"; exit 1; }
40+
41+
echo "OK"
42+
}
43+
44+
execute_mysql_sqript(){
45+
echo -n "Updating MYSQL database... "
46+
47+
for i in $(ls $DIR/server/schema/mysql/upgrade/upgrade*); do
48+
$MYSQL "$DB_NAME" < ${i};
49+
done
50+
51+
echo "OK"
52+
}
53+
54+
establish_mysql_conn(){
55+
echo -n "Trying to database MySQL connection... "
56+
command -v mysql >/dev/null 2>&1 || { echo "MySQL client not found"; exit 1; }
57+
MYSQL="mysql -h$DB_HOST -u$DB_USER"
58+
if [ -n "$DB_PWD" ]; then
59+
MYSQL="$MYSQL -p$DB_PWD"
60+
fi
61+
62+
$MYSQL -e ";" >/dev/null 2>&1 || { echo "FAILURE"; exit 1; }
63+
64+
echo "OK"
65+
}
66+
67+
execute_db_script(){
68+
case $DB_TYPE in
69+
postgres)
70+
establish_postgres_conn || exit $?
71+
execute_postgres_scripts || exit $?
72+
;;
73+
mysql)
74+
establish_mysql_conn || exit $?
75+
execute_mysql_sqript || exit $?
76+
;;
77+
*)
78+
echo "Incorrect DB_TYPE value! Possible value of DB_TYPE is 'postgres' or 'mysql'."
79+
exit 1
80+
esac
81+
}
82+
83+
load_db_params
84+
execute_db_script

rpm/common.spec

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ case "$1" in
214214
supervisorctl stop ${i}:*
215215
fi
216216
done
217+
218+
#update database
219+
documentserver-upgrade.sh
217220
;;
218221
esac
219222
exit 0

0 commit comments

Comments
 (0)