feat: new upgrade db method

This commit is contained in:
AGT EMS
2025-06-18 10:17:43 +08:00
parent 415817963f
commit 3172312af0
3745 changed files with 153916 additions and 306 deletions

View File

@@ -227,6 +227,7 @@ srcRelsDir=$srcDir/release
srcToolsDir=$srcDir/tools
srcMssBakScriptDir=$srcDir/mssBak/script
srcMssBakDataDir=$srcDir/mssBak/mssBakData
srcSqlDir=$srcDir/sql
omcDir=/usr/local/omc
dstBinDir=$omcDir/bin
@@ -480,13 +481,13 @@ else
fi
cp -Rf $srcWebDir/$omcWebName $dstWebDir/
# 检查并还原 alto_logo_40.gif
# Restore alto_logo_40.gif
if [ -f $omcBakDir/$omcWebName/images/alto_logo_40.gif ]; then
cp -f $omcBakDir/$omcWebName/images/alto_logo_40.gif $dstWebDir/$omcWebName/images/
echo "Restored alto_logo_40.gif"
fi
# 检查并还原 alto_logo_80.gif
# Restore alto_logo_80.gif
if [ -f $omcBakDir/$omcWebName/images/alto_logo_80.gif ]; then
cp -f $omcBakDir/$omcWebName/images/alto_logo_80.gif $dstWebDir/$omcWebName/images/
echo "Restored alto_logo_80.gif"
@@ -629,123 +630,20 @@ else
exit
fi
#dataFileList=`ls -l ./data/|grep sql|awk '{print $9}'`
#for tmpFile in $dataFileList; do
# echo $tmpFile |awk -F"." '{print "CREATE DATABASE IF NOT EXISTS " $1 ";"}'|$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw
# cat ./data/$tmpFile |awk '$1 !~ /#/' |$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw
# echo -n "."
#done
#
#cp -rf $srcDataDir/OBJ_* $dstDataDir
#chown -R mysql $dstDataDir
#chgrp -R mysql $dstDataDir
#chmod -R 755 $dstDataDir
#
#myShowResult "OK"
#step 2.2:Upgrade databases
if [ "$installMode" == "2" ] ; then
upGradeDb CDR_DB cdrFrom%
#upGradeDb CDR_DB cdrSource
#Upgrade CSTA_DB
# rm -rf $dstDataDir/CSTA_DB_BK
# cp -r $omcBakDir/data/CSTA_DB $dstDataDir/CSTA_DB_BK
# chmod -R 755 $dstDataDir/CSTA_DB_BK
# rm -f $dstDataDir/CSTA_DB/*Detail_*
# rm -f $dstDataDir/CSTA_DB/*Sum_*
# tableArr=`echo "show tables from CSTA_DB_BK like '%Detail';"|$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw | sed -e '1d'`
# for table in $tableArr ; do
# table_=$table"_"
# #detail
# tmpTableArr=`echo "show tables from CSTA_DB_BK like '$table_%';"|$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw | sed -e '1d'`
# for tmpTable in $tmpTableArr ;do
# rm -f $dstDataDir/CSTA_DB/$tmpTable.*
# cp $dstDataDir/CSTA_DB/$table.frm $dstDataDir/CSTA_DB/$tmpTable.frm
# cp $dstDataDir/CSTA_DB/$table.MYI $dstDataDir/CSTA_DB/$tmpTable.MYI
# cp $dstDataDir/CSTA_DB/$table.MYD $dstDataDir/CSTA_DB/$tmpTable.MYD
# done
# #sum
# sumTable=`echo "$table" | sed -e s/Detail/Sum/g`
# table_=`echo "$table_" | sed -e s/Detail/Sum/g`
# tmpTableArr=`echo "show tables from CSTA_DB_BK like '$table_%';"|$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw | sed -e '1d'`
# for tmpTable in $tmpTableArr ;do
# rm -f $dstDataDir/CSTA_DB/$tmpTable.*
# cp $dstDataDir/CSTA_DB/$sumTable.frm $dstDataDir/CSTA_DB/$tmpTable.frm
# cp $dstDataDir/CSTA_DB/$sumTable.MYI $dstDataDir/CSTA_DB/$tmpTable.MYI
# cp $dstDataDir/CSTA_DB/$sumTable.MYD $dstDataDir/CSTA_DB/$tmpTable.MYD
# done
# done
# rm -rf $dstDataDir/CSTA_DB_BK
# chown -R mysql $dstDataDir/
# chgrp -R mysql $dstDataDir/
# chmod -R 755 $dstDataDir/
upGradeDb CSTA_DB %Detail_%
upGradeDb CSTA_DB %Sum_%
upGradeDb PPS_DB daily_report
upGradeDb OMC_PUB sysUser
#upGradeDb OMC_PUB sysMenuConf
upGradeDb OMC_PUB omcPubVarConf
upGradeDb OMC_PUB smcli%
upGradeDb PPS_DB used_card_info
upGradeDb RCM_RC_DB used_card_info
upGradeDb OMC_PUB hpmnConf
upGradeDb OMC_PUB wsmsMsgConf
upGradeDb OMC_PUB wsmsRoamer
upGradeDb OMC_PUB wsmsServConf
upGradeDb OMC_PUB cdrNotifyConf
upGradeDb BssOmcDb OMCR_ALARMEVENT
upGradeDb BssOmcDb OMCR_BtsMeasurements
upGradeDb BssOmcDb OMCR_BSSTABLE
#releaseV1.00.04 added by fj 20180101
upGradeDb SMCLI subscriber
upGradeDb OBJ_330 subsParamConf_1
upGradeDb HLR_DB ''
#upGradeDb PPS_DB daily_report
upGradeDb PPS_DB user_info
upGradeDb VLR_DB ''
upGradeDb AUC_DB ''
# update "OBJ_360.subsParamConf_1" field setTemplate_2 to empty
#echo "update OBJ_360.subsParamConf_1 set setTemplate_2 to empty"
echo "update OBJ_360.subsParamConf_1 set setTemplate_2='' where keyId=1" |$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw
noOverWriteDB="OBJ_325 OBJ_330 OBJ_340 OBJ_360 OBJ_395 OBJ_370 OBJ_375 OBJ_380 OBJ_390"
for tmp_file in $noOverWriteDB; do
upGradeDb $tmp_file subsParamConf_%
upgradeSqlDir=$srcSqlDir/upgrade
echo "Upgrade EMS databases ..."
dbScriptList=`ls $upgradeSqlDir/*.sql`
for dbScript in $dbScriptList; do
echo -n "Executing $dbScript ... "
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw < "$dbScript"
echo "done"
done
manualSqlFile="$srcDir/manual_sql_updates.sql"
if [ -f "$manualSqlFile" ]; then
#echo "Executing manual SQL updates from $manualSqlFile..."
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw < $manualSqlFile
else
echo "No manual SQL updates found."
fi
chown -R mysql $dstDataDir/
chgrp -R mysql $dstDataDir/
chmod -R 755 $dstDataDir/
#hide the old MSC menu
#echo "update OMC_PUB.sysMenuConf set privilege='-1' where level_1=2 and level_2=1 and level_3=9" | $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw
myShowResult "OK"
fi
#step 4:Copy config files
@@ -930,32 +828,21 @@ echo "-------------------------------------- " >> $omcDir/install.log
#step 10:Initial the OMC_PUB.omcPubVarConf table
if [ "$installMode" == "1" ] ; then
echo "Init the EMS omcPubVarConf"
/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='AGrandTech' WHERE pubVarName='fieldName';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='cents' WHERE pubVarName='pssCardMinCount';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='100' WHERE pubVarName='currency_decimal';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='123456' WHERE pubVarName='AucManagePwd';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='123456' WHERE pubVarName='EirManagePwd';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='' WHERE pubVarName='cdr_store_server';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='' WHERE pubVarName='csta_store_server';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='60' WHERE pubVarName='SMCLI_timeout';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='5' WHERE pubVarName='automatic_scratch_card_time';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='1' WHERE pubVarName='automatic_scratch_card_flag';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='' WHERE pubVarName='alarmSmsNumberList ';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='' WHERE pubVarName='getparam_from';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='' WHERE pubVarName='getBssStatusAndAlarmTimer';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='No' WHERE pubVarName='SMLOG_CONTENT_DECODE_FLAG';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='No' WHERE pubVarName='SMLOG_CONTENT_SHOW_FLAG';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='64' WHERE pubVarName='maxCOSNumber';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='300' WHERE pubVarName='maxMoPrefixNumPerCOS';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='subsManager' WHERE pubVarName='globalFTPUserName';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='iammanager' WHERE pubVarName='globalFTPPassword';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='15' WHERE pubVarName='HTTPSessionTimeout';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='60' WHERE pubVarName='GenerateCDRFileInterval';
UPDATE OMC_PUB.omcPubVarConf SET pubVarValue='0' WHERE pubVarName='ExternalRCM';
DELETE FROM BssOmcDb.OMCR_BSSTABLE;
_EOF_
installSqlDir=$srcSqlDir/install
echo "Begin to init the EMS databases ..."
dbScriptList=`ls $installSqlDir/*.sql`
for dbScript in $dbScriptList; do
# Get the database name from the script file name
dbFileName=$(basename "$dbScript")
dbName="${dbFileName%%.sql}" # Remove the .sql extension
echo -n "Creating database $dbName ... "
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw -e "CREATE DATABASE IF NOT EXISTS \`$dbName\` DEFAULT CHARACTER SET utf8mb4;"
echo "done"
echo -n "Executing $dbScript on $dbName ... "
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw "$dbName" < "$dbScript"
echo "done"
done
echo "End to init the EMS databases."
fi
#Get the original conf file back
@@ -1009,9 +896,6 @@ update OMC_PUB.sysMenuConf set privilege='-1' where level_1=7 and level_2=4 and
_EOF_
fi
if [ -n "`pidof mysqld`" ] ;then
kill -9 `pidof mysqld`
fi
@@ -1070,7 +954,6 @@ _EOF_
fi
# Be sure to restart the mysql
#rm -rf /var/lock/subsys/msyql
#rm -rf /var/lib/mysql