28 lines
1.5 KiB
Bash
28 lines
1.5 KiB
Bash
|
|
#!/usr/bin/env bash
|
|||
|
|
set -euo pipefail
|
|||
|
|
# shellcheck disable=SC1091
|
|||
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh"
|
|||
|
|
|
|||
|
|
SQL_FILE="$REPO_DIR/mysql_script/ruoyi-vue-pro.sql"
|
|||
|
|
[[ -f "$SQL_FILE" ]] || { echo "缺少初始化脚本: $SQL_FILE" >&2; exit 1; }
|
|||
|
|
|
|||
|
|
schema_exists="$(mysql_query information_schema "SELECT COUNT(*) FROM SCHEMATA WHERE SCHEMA_NAME='$ELDER_DB_NAME';")"
|
|||
|
|
if [[ "$schema_exists" == "0" ]]; then
|
|||
|
|
mysql_query '' "CREATE DATABASE \`$ELDER_DB_NAME\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" >/dev/null
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
table_count="$(mysql_query information_schema "SELECT COUNT(*) FROM TABLES WHERE TABLE_SCHEMA='$ELDER_DB_NAME';")"
|
|||
|
|
if [[ "$table_count" != "0" ]]; then
|
|||
|
|
echo "数据库 $ELDER_DB_NAME 已有 $table_count 张表,为保护数据而停止初始化。"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
mysql_bin="${MYSQL_BIN:-$(command -v mysql)}"
|
|||
|
|
MYSQL_PWD="$ELDER_DB_PASSWORD" "$mysql_bin" --protocol=TCP --host="$ELDER_DB_HOST" --port="$ELDER_DB_PORT" \
|
|||
|
|
--user="$ELDER_DB_USER" --default-character-set=utf8mb4 "$ELDER_DB_NAME" < "$SQL_FILE"
|
|||
|
|
|
|||
|
|
mysql_query "$ELDER_DB_NAME" 'UPDATE infra_file_config SET master = (id = 4) WHERE deleted = 0;' >/dev/null
|
|||
|
|
table_count="$(mysql_query information_schema "SELECT COUNT(*) FROM TABLES WHERE TABLE_SCHEMA='$ELDER_DB_NAME';")"
|
|||
|
|
admin_count="$(mysql_query "$ELDER_DB_NAME" "SELECT COUNT(*) FROM system_users WHERE username='admin' AND deleted=0 AND tenant_id=1;")"
|
|||
|
|
echo "已初始化 $ELDER_DB_NAME:$table_count 张表,管理员账号 $admin_count 个。"
|