You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
Bash
54 lines
1.2 KiB
Bash
function _log() {
|
|
echo "[Log] $@"
|
|
}
|
|
|
|
root_path=`pwd`
|
|
file_name=${1}
|
|
branch_name=`git branch | awk '$1 == "*"{print}' | awk -F/ '{print $2}' | awk -F')' '{print $1}'`
|
|
|
|
version_sql_path=$root_path/global/sql
|
|
if [ ! -d $version_sql_path ];
|
|
then
|
|
mkdir -p $version_sql_path
|
|
fi
|
|
|
|
cat >> test.lua << EOF
|
|
local dbconf = require("$file_name")
|
|
print("database", dbconf.mysql_gamedb.database)
|
|
print("confdatabase", dbconf.mysql_confdb.database)
|
|
print("host", dbconf.mysql_gamedb.host)
|
|
print("port", dbconf.mysql_gamedb.port)
|
|
print("user", dbconf.mysql_gamedb.user)
|
|
print("password", dbconf.mysql_gamedb.password)
|
|
EOF
|
|
|
|
ret=(`lua test.lua | awk -F" " '{print $2}'`)
|
|
db_gamedata=${ret[0]}
|
|
db_gameconf=${ret[1]}
|
|
host=${ret[2]}
|
|
port=${ret[3]}
|
|
user=${ret[4]}
|
|
password=${ret[5]}
|
|
|
|
MYSQL="mysql -u$user -p$password -h$host -P$port"
|
|
|
|
notchange="nothing to commit, working tree clean"
|
|
rm -rf test.lua
|
|
|
|
cd ${version_sql_path}
|
|
files=$(ls)
|
|
sql_name=$version_sql_path/${branch_name}.sql
|
|
|
|
if [ ! -f "$sql_name" ]; then
|
|
echo "USE \`${db_gamedata}\`;" > ${sql_name}
|
|
fi
|
|
|
|
#排序后遍历文件
|
|
for file in ${files[@]}
|
|
do
|
|
_log "执行 sql文件:" $file
|
|
${MYSQL} --force $db_gamedata < $file 2>/dev/null
|
|
done
|
|
|
|
rm -rf out.txt
|