Init DB Using envsubst
[holmes/engine-management.git] / engine-d-standalone / src / main / assembly / bin / initDB.sh
index a02391b..3d2e8bc 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 # Copyright 2017 ZTE Corporation.
 #
@@ -19,17 +19,47 @@ DIRNAME=`dirname $0`
 HOME=`cd $DIRNAME/; pwd`
 user=$1
 password=$2
-port=$3
-host=$4
-echo "start init holmes engine-d db"
-main_path=$HOME/../
-cat $main_path
-mysql -u$user -p$password -P$port -h$host <$main_path/dbscripts/mysql/openo-holmes_engine_d-createobj.sql
+dbname=$3
+port=$4
+host=$5
+echo "Initializing the holmes engine management database..."
+main_path=$HOME/..
+
+# if deployed using helm, use the helm-generated configuration file.
+if [ -d /opt/hemconfig ]; then
+    cp /opt/hemconfig/onap-holmes_engine-createobj.sql "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql"
+else
+    sed -i "s|DBNAME|$dbname|g" "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql"
+    sed -i "s|DBUSER|$user|g" "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql"
+    sed -i "s|DBPWD|$password|g" "$main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql"
+fi
+
+cat $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql
+
+echo "dbname=$dbname"
+echo "user=$user"
+echo "password=$password"
+echo "port=$port"
+echo "host=$host"
+
+if [ -z `env | grep PGPASSWORD` ]; then
+    export PGPASSWORD=$password
+    need_unset=1
+fi
+
+psql -U "$user" -p "$port" -h "$host" -d "$dbname" -f $main_path/dbscripts/postgresql/onap-holmes_engine-createobj.sql
+psql -U "$user" -p "$port" -h "$host" -d "$dbname" --command 'select * from alarm_info;'
 sql_result=$?
+
+if [ $need_unset -eq 1 ]; then
+    unset PGPASSWORD
+fi
+
+echo "sql_result=$sql_result"
 if [ $sql_result != 0 ] ; then
-   echo "failed to init engine-d database!"
+   echo "Failed to initialize the database!"
    exit 1
 fi
-echo "init engine-d success!"
+echo "The database is initialized successfully!"
 exit 0