2
0
Files
build.wfc/build/bin/wfcupgdb.sh
2025-02-14 18:29:44 +08:00

75 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
wfc_work_dir=/opt/wfc
docker_work_dir=${wfc_work_dir}/docker
mysql_sql_dir=${docker_work_dir}/mysql/db
docker_sql_dir=/docker-entrypoint-initdb.d
docker_mysql_conf_d=/etc/mysql/conf.d
docker_my_conf_file=${docker_mysql_conf_d}/my.cnf
mysql_ocker_name=wfc-mysql
# 在容器内生成 my.cnf 文件
docker exec ${mysql_ocker_name} bash -c "cat <<EOF > ${docker_my_conf_file}
[client]
user=root
password=\${MYSQL_ROOT_PASSWORD}
EOF"
case "$1" in
system)
db_name=wfc_system_db
cd ${mysql_sql_dir}
for sql in ./upgrade/${db_name}/*.sql; do
if [ -f "$sql" ]; then
echo -n "Execute SQL script: ${sql} ... "
# docker exec -i ${mysql_ocker_name} mysql -u ${db_name} < ${sql};
docker exec -i ${mysql_ocker_name} mysql --defaults-extra-file=${docker_my_conf_file} ${db_name} < ${sql}
if [ $? = 0 ]; then
echo "done"
fi
else
echo "No SQL files found in ./upgrade/${db_name}/"
fi
done
;;
user)
db_name=wfc_user_db
cd ${mysql_sql_dir}
for sql in ./upgrade/${db_name}/*.sql; do
if [ -f "$sql" ]; then
echo -n "Execute SQL script: ${sql} ... "
docker exec -i ${mysql_ocker_name} mysql --defaults-extra-file=${docker_my_conf_file} ${db_name} < ${sql}
if [ $? = 0 ]; then
echo "done"
fi
else
echo "No SQL files found in ./upgrade/${db_name}/"
fi
done
;;
config)
db_name=wfc_config_db
cd ${mysql_sql_dir}
for sql in ./upgrade/${db_name}/*.sql; do
if [ -f "$sql" ]; then
echo -n "Execute SQL script: ${sql} ... "
docker exec -i ${mysql_ocker_name} mysql --defaults-extra-file=${docker_my_conf_file} ${db_name} < ${sql}
if [ $? = 0 ]; then
echo "done"
fi
else
echo "No SQL files found in ./upgrade/${db_name}/"
fi
done
;;
all)
$0 config
$0 system
$0 user
;;
*)
echo "WANFi Control and Billing System Upgrade Database ..."
echo "Usage: $0 config|system|user|all"
exit 1
;;
esac