1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-07-20 04:23:01 +08:00

check upgrade status before run mysql.upgrade.db.sh

This commit is contained in:
Hai Liang Wang 2019-11-25 16:04:10 +08:00
parent b48752fd9f
commit 9490cc251e

View File

@ -10,14 +10,15 @@ MYSQL_WRITEMODE_IP=`parse_host ${SPRING_DATASOURCE_URL}`
MYSQL_WRITEMODE_PORT=`parse_port ${SPRING_DATASOURCE_URL}`
CONTACT_CENTER_DB=`parse_dbname ${SPRING_DATASOURCE_URL}`
CONTACT_CENTER_WAR=/opt/chatopera/contact-center.war
UPGRADE_DB_SCRIPT_DIR=/tmp/ROOT/upgrade
APP_WAR_EXTRACTED=/tmp/ROOT
UPGRADE_DB_SCRIPT_DIR=$APP_WAR_EXTRACTED/upgrade
println "[upgrade] connecting to $MYSQL_WRITEMODE_IP:$MYSQL_WRITEMODE_PORT/$CONTACT_CENTER_DB with $SPRING_DATASOURCE_USERNAME/****"
# functions
function upgrade_db(){
if [ ! -f $1 ]; then exit 1; fi
println "run MySQL DB upgrade script" $1 "..."
println "[upgrade] run MySQL DB upgrade script" $1 "..."
mysql -u ${SPRING_DATASOURCE_USERNAME} \
-h ${MYSQL_WRITEMODE_IP} \
-P ${MYSQL_WRITEMODE_PORT} -p${SPRING_DATASOURCE_PASSWORD} \
@ -33,23 +34,11 @@ function extract_war(){
println "extract SQL script ..."
if [ -f $CONTACT_CENTER_WAR ]; then
cd /tmp
if [ -d ROOT ]; then
rm -rf ROOT
if [ -d $APP_WAR_EXTRACTED ]; then
rm -rf $APP_WAR_EXTRACTED
fi
unzip -q $CONTACT_CENTER_WAR -d ROOT
if [ -f /tmp/ROOT/$MYSQL_SCRIPT_NAME ]; then
println "start to import database ..."
import_db /tmp/ROOT/$MYSQL_SCRIPT_NAME
# verify status
if [ ! $? -eq 0 ]; then
exit 1
fi
rm -rf /tmp/ROOT
else
println "SQL script not exist."
exit 1
fi
else
println "War file not exist."
fi
@ -57,9 +46,14 @@ function extract_war(){
# main
[ -z "${BASH_SOURCE[0]}" -o "${BASH_SOURCE[0]}" = "$0" ] || return
## check upgrade footprint
if [ -f /opt/chatopera/upgrade.his ]; then
echo "[upgrade] upgrade has been done with previous start."
exit 0
fi
## check root dir
if [ ! -d /tmp/ROOT ]; then
if [ ! -d $APP_WAR_EXTRACTED ]; then
extract_war
fi
@ -75,3 +69,8 @@ if [ -d $UPGRADE_DB_SCRIPT_DIR ]; then
fi
done
fi
## touch upgrade footprint
if [ ! -f /opt/chatopera/upgrade.his ]; then
touch /opt/chatopera/upgrade.his
fi