clouddreamai-cicd-setup 1.5.30 → 1.5.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/scripts/deploy.sh +34 -6
package/package.json
CHANGED
|
@@ -328,6 +328,26 @@ EOF
|
|
|
328
328
|
DB_ENABLED="{{DB_ENABLED}}" # 是否启用数据库自动创建: true/false
|
|
329
329
|
DB_TYPE="{{DB_TYPE}}" # 数据库类型: pgsql/mysql
|
|
330
330
|
|
|
331
|
+
# 自动检测数据库客户端路径
|
|
332
|
+
find_db_client() {
|
|
333
|
+
local CLIENT=$1
|
|
334
|
+
# 常见路径:宝塔、系统默认、Docker 等
|
|
335
|
+
local PATHS=(
|
|
336
|
+
"/www/server/pgsql/bin/$CLIENT"
|
|
337
|
+
"/www/server/mysql/bin/$CLIENT"
|
|
338
|
+
"/usr/bin/$CLIENT"
|
|
339
|
+
"/usr/local/bin/$CLIENT"
|
|
340
|
+
)
|
|
341
|
+
for P in "${PATHS[@]}"; do
|
|
342
|
+
if [ -x "$P" ]; then
|
|
343
|
+
echo "$P"
|
|
344
|
+
return
|
|
345
|
+
fi
|
|
346
|
+
done
|
|
347
|
+
# 最后尝试 PATH 中查找
|
|
348
|
+
command -v "$CLIENT" 2>/dev/null
|
|
349
|
+
}
|
|
350
|
+
|
|
331
351
|
# 创建数据库函数
|
|
332
352
|
create_database() {
|
|
333
353
|
local DB_HOST=$1
|
|
@@ -343,23 +363,31 @@ create_database() {
|
|
|
343
363
|
echo "检查并创建数据库: $DB_NAME"
|
|
344
364
|
|
|
345
365
|
if [ "$DB_TYPE" = "pgsql" ]; then
|
|
346
|
-
|
|
366
|
+
local PSQL_CMD=$(find_db_client "psql")
|
|
367
|
+
if [ -z "$PSQL_CMD" ]; then
|
|
368
|
+
echo "❌ 未找到 psql 客户端,跳过数据库创建"
|
|
369
|
+
return
|
|
370
|
+
fi
|
|
347
371
|
export PGPASSWORD="$DB_PASS"
|
|
348
|
-
if
|
|
372
|
+
if $PSQL_CMD -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -lqt | cut -d \| -f 1 | grep -qw "$DB_NAME"; then
|
|
349
373
|
echo "✓ 数据库 $DB_NAME 已存在"
|
|
350
374
|
else
|
|
351
375
|
echo "创建数据库 $DB_NAME..."
|
|
352
|
-
|
|
376
|
+
$PSQL_CMD -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -c "CREATE DATABASE \"$DB_NAME\";"
|
|
353
377
|
echo "✓ 数据库 $DB_NAME 创建成功"
|
|
354
378
|
fi
|
|
355
379
|
unset PGPASSWORD
|
|
356
380
|
elif [ "$DB_TYPE" = "mysql" ]; then
|
|
357
|
-
|
|
358
|
-
if
|
|
381
|
+
local MYSQL_CMD=$(find_db_client "mysql")
|
|
382
|
+
if [ -z "$MYSQL_CMD" ]; then
|
|
383
|
+
echo "❌ 未找到 mysql 客户端,跳过数据库创建"
|
|
384
|
+
return
|
|
385
|
+
fi
|
|
386
|
+
if $MYSQL_CMD -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USER" -p"$DB_PASS" -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$DB_NAME'" | grep -q "$DB_NAME"; then
|
|
359
387
|
echo "✓ 数据库 $DB_NAME 已存在"
|
|
360
388
|
else
|
|
361
389
|
echo "创建数据库 $DB_NAME..."
|
|
362
|
-
|
|
390
|
+
$MYSQL_CMD -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USER" -p"$DB_PASS" -e "CREATE DATABASE \`$DB_NAME\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
|
363
391
|
echo "✓ 数据库 $DB_NAME 创建成功"
|
|
364
392
|
fi
|
|
365
393
|
fi
|