79 lines
2.7 KiB
Bash
Executable File
79 lines
2.7 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_container_name=wfc-mysql
|
|
|
|
# # 获取 MySQL 容器的 IP 地址
|
|
# mysql_container_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${mysql_container_name})
|
|
# # 在容器内生成 my.cnf 文件
|
|
# docker exec ${mysql_container_name} bash -c "cat <<EOF > ${docker_my_conf_file}
|
|
# [client]
|
|
# user=root
|
|
# password=\${MYSQL_ROOT_PASSWORD}
|
|
# host=${mysql_container_ip}
|
|
# port=3306
|
|
# 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_container_name} mysql -u ${db_name} < ${sql};
|
|
docker exec -i ${mysql_container_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_container_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_container_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 |