bugfix - DB init error due to single quotes 34/123434/1
author付光荣10144542 <fu.guangrong@zte.com.cn>
Mon, 23 Aug 2021 02:53:06 +0000 (10:53 +0800)
committer付光荣10144542 <fu.guangrong@zte.com.cn>
Mon, 23 Aug 2021 02:53:06 +0000 (10:53 +0800)
Issue-ID: HOLMES-463
Signed-off-by: 付光荣10144542 <fu.guangrong@zte.com.cn>
Change-Id: Ic1d9cf8007448d47efd278a33bcb951266a6c0e1

rulemgt-standalone/src/main/assembly/bin/initDB.sh

index 86a2d80..586eb03 100644 (file)
@@ -45,6 +45,12 @@ if [ -z `env | grep PGPASSWORD` ]; then
     need_unset=1
 fi
 
+# Escape the single quote to avoid cause errors when executing the scripts.
+password=`sed -rn "s/.+ ('.+') .+/\1/p" $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql`
+password=${password:1:-1}
+password_e=`echo $password | sed "s#'#''#g"`
+sed -i "s#$password#$password_e#" $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql
+
 psql -U "$user" -p "$port" -h "$host" -d "$dbname" -f $main_path/dbscripts/postgresql/onap-holmes_rulemgt-createobj.sql
 psql -U "$user" -p "$port" -h "$host" -d "$dbname" --command 'select * from aplus_rule;'
 sql_result=$?