Fixed the automatic migration script

This commit is contained in:
edwardro22
2017-09-17 02:13:58 +00:00
parent 9c1cdf7496
commit 8d3d6b8692
3 changed files with 57 additions and 16 deletions

View File

@@ -1,29 +1,28 @@
#! /usr/bin/env sh
echo ""
echo "rc7_to_rc8.sh"
#settings
#DBs Config
datadb="redis"
stordb="postgres"
stordb="mysql"
echo "dataDB:"$datadb " storDB:"$stordb
echo ""
#dataDBs
case $datadb in
"redis")
#Redis Config
export cgr_from_host='192.168.100.40'
export cgr_from_host='127.0.0.1'
export cgr_from_port=6379
export cgr_from_db=11
export cgr_from_pass=''
export cgr_to_host='192.168.100.40'
export cgr_to_host='127.0.0.1'
export cgr_to_port=6379
export cgr_to_db=10
export cgr_to_pass='' # Not used
;;
"mongo")
#Mongo Config
#Mongo Config //NOT SUPPORTED IN RC7
export cgr_from_host='127.0.0.1'
export cgr_from_port='27017'
export cgr_from_db='11'
@@ -50,13 +49,15 @@ case $stordb in
user="cgrates"
host="127.0.0.1"
db="cgrates"
port="3306"
;;
"postgres")
#postgres Config
user="cgrates"
host="192.168.100.40"
host="127.0.0.1"
db="cgrates"
port="5432"
;;
esac
@@ -66,15 +67,17 @@ DIR="$(dirname "$(readlink -f "$0")")"
case $datadb in
"redis")
echo "executing dbsmerge_redis.py"
echo 'Calling script: dbsmerge_redis.py'
./dbsmerge_redis.py
echo "done!"
echo 'done!'
echo
;;
"mongo")
echo "executing dbsmerge_mongo.py"
echo 'Calling script: dbsmerge_mongo.py'
./dbsmerge_mongo.py
echo "done!"
echo 'done!'
echo
;;
esac
@@ -82,22 +85,59 @@ esac
case $stordb in
"mysql")
echo "Calling script: mysql_tables_update.sql"
mysql -u$user -p$PGPASSWORD -h $host < "$DIR"/mysql_tables_update.sql
up=$?
echo "done!"
echo
echo "Calling script: mysql_cdr_migration.sql"
mysql -u$user -p$PGPASSWORD -h $host -D cgrates < "$DIR"/mysql_cdr_migration.sql
mig=$?
echo "done!"
echo
echo 'Executing command cgr-migrator -migrate="*set_versions"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*set_versions"
echo
echo 'Setting version for CostDetails'
mysql -u$user -p$PGPASSWORD -h $host -D cgrates < "$DIR"/set_version.sql
;;
"postgres")
echo "Calling script: pg_tables_update.sql"
psql -U $user -h $host -d cgrates -f "$DIR"/pg_tables_update.sql
echo "not mysql"
up=$?
echo "done!"
echo
echo "Calling script: pg_cdr_migration.sql"
psql -U $user -h $host -d cgrates -f "$DIR"/pg_cdr_migration.sql
mig=$?
echo "done!"
echo
echo 'Executing command cgr-migrator -migrate="*set_versions"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*set_versions"
echo
echo 'Setting version for CostDetails'
psql -U $user -h $host -d cgrates -f "$DIR"/set_version.sql
;;
esac
# if [ $up == 0 ] && [ $mig == 0 ]; then
# echo -e "\n\t+++ The script ran successfully ! +++\n"
# exit 0
# fi
echo 'Executing command cgr-migrator -migrate="*cost_details"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*cost_details"
echo 'Executing command cgr-migrator -migrate="*accounts"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*accounts"
echo 'Executing command cgr-migrator -migrate="*actions"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*actions"
echo 'Executing command cgr-migrator -migrate="*action_triggers"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*action_triggers"
echo 'Executing command cgr-migrator -migrate="*action_plans"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*action_plans"
echo 'Executing command cgr-migrator -migrate="*shared_groups"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*shared_groups"
echo 'Executing command cgr-migrator -migrate="*set_versions"'
cgr-migrator -datadb_host=$cgr_from_host -datadb_name=$cgr_to_db -datadb_passwd=$cgr_from_pass -datadb_port=$cgr_from_port -datadb_type=$datadb -stordb_host=$host -stordb_name=$user -stordb_passwd=$PGPASSWORD -stordb_port=$port -stordb_type=$stordb -stordb_user=$user -migrate="*set_versions"

View File

@@ -0,0 +1 @@
UPDATE versions SET version=1 WHERE item='CostDetails';

View File

@@ -57,7 +57,7 @@ func (m *Migrator) migrateCostDetails() (err error) {
case utils.MYSQL:
storSQL = m.storDB.(*engine.SQLStorage).Db
case utils.POSTGRES:
storSQL = m.storDB.(*engine.PostgresStorage).Db
storSQL = m.storDB.(*engine.SQLStorage).Db
default:
return utils.NewCGRError(utils.Migrator,
utils.MandatoryIEMissingCaps,